[ARTEMIS-1770] Log warning when connection is closed

This commit is contained in:
Radovan Stancel 2018-04-03 17:09:58 +02:00
parent eec1099472
commit 10849eb8ab
2 changed files with 18 additions and 1 deletions

View File

@ -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);
}

View File

@ -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();