From 10849eb8abc01b8ae66c9ddeb350625efbc66384 Mon Sep 17 00:00:00 2001 From: Radovan Stancel Date: Tue, 3 Apr 2018 17:09:58 +0200 Subject: [PATCH] [ARTEMIS-1770] Log warning when connection is closed --- .../artemis/core/client/ActiveMQClientLogger.java | 6 ++++++ .../artemis/core/client/impl/ClientSessionImpl.java | 13 ++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/ActiveMQClientLogger.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/ActiveMQClientLogger.java index 8d087a38e9..4ed2545715 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/ActiveMQClientLogger.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/ActiveMQClientLogger.java @@ -555,4 +555,10 @@ public interface ActiveMQClientLogger extends BasicLogger { @Message(id = 214033, value = "Cannot resolve host ", format = Message.Format.MESSAGE_FORMAT) void unableToResolveHost(@Cause UnknownHostException e); + + @LogMessage(level = Logger.Level.WARN) + @Message(id = 214034, value = "Connection closed: {0} - {1}", + format = Message.Format.MESSAGE_FORMAT) + void connectionClosedWarn(ActiveMQExceptionType type, String message); + } diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientSessionImpl.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientSessionImpl.java index ab9888e452..ac21a75eb5 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientSessionImpl.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientSessionImpl.java @@ -33,7 +33,9 @@ import org.apache.activemq.artemis.api.core.ActiveMQBuffer; import org.apache.activemq.artemis.api.core.ActiveMQBuffers; import org.apache.activemq.artemis.api.core.ActiveMQException; import org.apache.activemq.artemis.api.core.ActiveMQExceptionType; +import org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException; import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RoutingType; import org.apache.activemq.artemis.api.core.SimpleString; import org.apache.activemq.artemis.api.core.client.ClientConsumer; import org.apache.activemq.artemis.api.core.client.ClientMessage; @@ -46,7 +48,6 @@ import org.apache.activemq.artemis.core.client.ActiveMQClientLogger; import org.apache.activemq.artemis.core.client.ActiveMQClientMessageBundle; import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; import org.apache.activemq.artemis.core.remoting.FailureListener; -import org.apache.activemq.artemis.api.core.RoutingType; import org.apache.activemq.artemis.spi.core.protocol.RemotingConnection; import org.apache.activemq.artemis.spi.core.remoting.ConsumerContext; import org.apache.activemq.artemis.spi.core.remoting.ReadyListener; @@ -1539,6 +1540,11 @@ public final class ClientSessionImpl implements ClientSessionInternal, FailureLi startCall(); try { sessionContext.xaEnd(xid, flags); + } catch (ActiveMQNotConnectedException ex) { + ActiveMQClientLogger.LOGGER.connectionClosedWarn(ex.getType(), ex.getMessage()); + if (logger.isDebugEnabled()) { + logger.debug(ex.getMessage(), ex); + } } finally { endCall(); } @@ -1743,6 +1749,11 @@ public final class ClientSessionImpl implements ClientSessionInternal, FailureLi try { sessionContext.xaRollback(xid, wasStarted); + } catch (ActiveMQNotConnectedException ex) { + ActiveMQClientLogger.LOGGER.connectionClosedWarn(ex.getType(), ex.getMessage()); + if (logger.isDebugEnabled()) { + logger.debug(ex.getMessage(), ex); + } } finally { if (wasStarted) { start();