diff --git a/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java b/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java index 44b7968113..ac827b8f72 100644 --- a/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java +++ b/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java @@ -240,19 +240,18 @@ public class TransportConnection implements Connection, Task, CommandVisitor { if (TRANSPORTLOG.isDebugEnabled()) { TRANSPORTLOG.debug("{} failed: {}", this, e.getMessage(), e); } else if (TRANSPORTLOG.isWarnEnabled() && !suppressed(e)) { - TRANSPORTLOG.warn("{} failed", this, e); + if (connector.isDisplayStackTrace()) { + TRANSPORTLOG.warn("{} failed", this, e); + } else { + TRANSPORTLOG.warn("{} failed: {}", this, e.getMessage()); + } } stopAsync(e); } } private boolean suppressed(IOException e) { - return (isStomp() || !connector.isWarnOnRemoteClose()) && ((e instanceof SocketException && e.getMessage().indexOf("reset") != -1) || e instanceof EOFException); - } - - private boolean isStomp() { - URI uri = connector.getUri(); - return uri != null && uri.getScheme() != null && uri.getScheme().indexOf("stomp") != -1; + return (!connector.isWarnOnRemoteClose()) && ((e instanceof SocketException && e.getMessage().indexOf("reset") != -1) || e instanceof EOFException); } /** diff --git a/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnector.java b/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnector.java index 3358eeea15..1b9c41fa4b 100644 --- a/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnector.java +++ b/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnector.java @@ -78,6 +78,7 @@ public class TransportConnector implements Connector, BrokerServiceAware { private PublishedAddressPolicy publishedAddressPolicy = new PublishedAddressPolicy(); private boolean allowLinkStealing = false; private boolean warnOnRemoteClose = false; + private boolean displayStackTrace = false; LinkedList peerBrokers = new LinkedList(); @@ -664,4 +665,12 @@ public class TransportConnector implements Connector, BrokerServiceAware { public void setWarnOnRemoteClose(boolean warnOnRemoteClose) { this.warnOnRemoteClose = warnOnRemoteClose; } + + public boolean isDisplayStackTrace() { + return displayStackTrace; + } + + public void setDisplayStackTrace(boolean displayStackTrace) { + this.displayStackTrace = displayStackTrace; + } }