Mathias Wiberg created QPID-6249:
------------------------------------
Summary: [AMQP 1.0] - Not sending keep-alive
Key: QPID-6249
URL: https://issues.apache.org/jira/browse/QPID-6249
Project: Qpid
Issue Type: Bug
Components: JMS AMQP 1.0 Client
Affects Versions: Future
Reporter: Mathias Wiberg
I'm using the 0.32 version of the Qpid JMS framework to connect to a Microsoft
Azure Service bus broker (version 2.1). When there is no traffic over the link
I'm getting disconnected each XX minutes (depending on the timeout setting in
Azure). So it seems like the client doesn't send keep-alive?
Here is the stacktrace from the client:
2014-11-27 10:03:10,355 [QpidConnectionInputThread-0] WARN
o.s.j.c.SingleConnectionFactory - Encountered a JMSException - resetting the
underlying JMS Connectionorg.apache.qpid.amqp_1_0.jms.SessionException: null
at
org.apache.qpid.amqp_1_0.jms.impl.SessionImpl$1.remoteEnd(SessionImpl.java:124)
~[qpid-amqp-1-0-client-jms-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.transport.SessionEndpoint.receiveEnd(SessionEndpoint.java:219)
[qpid-amqp-1-0-common-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.receiveEnd(ConnectionEndpoint.java:609)
[qpid-amqp-1-0-common-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at org.apache.qpid.amqp_1_0.type.transport.End.invoke(End.java:75)
[qpid-amqp-1-0-common-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.receive(ConnectionEndpoint.java:802)
[qpid-amqp-1-0-common-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.framing.FrameHandler.parse(FrameHandler.java:241)
[qpid-amqp-1-0-common-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.framing.ConnectionHandler.parse(ConnectionHandler.java:75)
[qpid-amqp-1-0-common-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.client.TCPTransportProvier.doRead(TCPTransportProvier.java:217)
[qpid-amqp-1-0-client-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.client.TCPTransportProvier.access$000(TCPTransportProvier.java:43)
[qpid-amqp-1-0-client-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.client.TCPTransportProvier$1.run(TCPTransportProvier.java:158)
[qpid-amqp-1-0-client-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]
2014-11-27 10:03:10,372 [Thread-261] WARN o.s.j.c.SingleConnectionFactory -
Encountered a JMSException - resetting the underlying JMS Connection
org.apache.qpid.amqp_1_0.jms.MessageConsumerException: Force detach the link
because the session is remotely ended.
at
org.apache.qpid.amqp_1_0.jms.impl.MessageConsumerImpl$1.run(MessageConsumerImpl.java:141)
~[qpid-amqp-1-0-client-jms-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]
2014-11-27 10:03:10,372 [QpidConnectionInputThread-0] DEBUG
o.s.j.c.SingleConnectionFactory - Closing shared JMS Connection:
org.apache.qpid.amqp_1_0.jms.impl.ConnectionImpl@21d28252
2014-11-27 10:03:10,372
[org.springframework.jms.listener.DefaultMessageListenerContainer#0-198] WARN
o.s.j.l.DefaultMessageListenerContainer - Setup of JMS message listener invoker
failed for destination 'org.apache.qpid.amqp_1_0.jms.impl.QueueImpl@e4f134ac' -
trying to recover. Cause: Closed javax.jms.IllegalStateException: Closed
at
org.apache.qpid.amqp_1_0.jms.impl.SessionImpl.checkClosed(SessionImpl.java:326)
~[qpid-amqp-1-0-client-jms-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.jms.impl.SessionImpl.getTransacted(SessionImpl.java:222)
~[qpid-amqp-1-0-client-jms-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.springframework.jms.listener.AbstractMessageListenerContainer.commitIfNecessary(AbstractMessageListenerContainer.java:573)
~[spring-jms-4.0.1.RELEASE.jar:4.0.1.RELEASE]
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:358)
~[spring-jms-4.0.1.RELEASE.jar:4.0.1.RELEASE]
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
~[spring-jms-4.0.1.RELEASE.jar:4.0.1.RELEASE]
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1102)
~[spring-jms-4.0.1.RELEASE.jar:4.0.1.RELEASE]
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1094)
~[spring-jms-4.0.1.RELEASE.jar:4.0.1.RELEASE]
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:991)
~[spring-jms-4.0.1.RELEASE.jar:4.0.1.RELEASE]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]
2014-11-27 10:03:16,336 [QpidConnectionInputThread-0] DEBUG
o.s.j.c.SingleConnectionFactory - Could not close shared JMS Connection
javax.jms.JMSException: Error while closing connection: Timed out while waiting
for connection closure
at
org.apache.qpid.amqp_1_0.jms.impl.ConnectionImpl.close(ConnectionImpl.java:483)
~[qpid-amqp-1-0-client-jms-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.springframework.jms.connection.SingleConnectionFactory.closeConnection(SingleConnectionFactory.java:435)
[spring-jms-4.0.1.RELEASE.jar:4.0.1.RELEASE]
at
org.springframework.jms.connection.SingleConnectionFactory.resetConnection(SingleConnectionFactory.java:330)
[spring-jms-4.0.1.RELEASE.jar:4.0.1.RELEASE]
at
org.springframework.jms.connection.SingleConnectionFactory.onException(SingleConnectionFactory.java:310)
[spring-jms-4.0.1.RELEASE.jar:4.0.1.RELEASE]
at
org.springframework.jms.connection.ChainedExceptionListener.onException(ChainedExceptionListener.java:58)
[spring-jms-4.0.1.RELEASE.jar:4.0.1.RELEASE]
at
org.apache.qpid.amqp_1_0.jms.impl.SessionImpl$1.remoteEnd(SessionImpl.java:128)
[qpid-amqp-1-0-client-jms-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.transport.SessionEndpoint.receiveEnd(SessionEndpoint.java:219)
[qpid-amqp-1-0-common-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.receiveEnd(ConnectionEndpoint.java:609)
[qpid-amqp-1-0-common-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at org.apache.qpid.amqp_1_0.type.transport.End.invoke(End.java:75)
[qpid-amqp-1-0-common-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.receive(ConnectionEndpoint.java:802)
[qpid-amqp-1-0-common-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.framing.FrameHandler.parse(FrameHandler.java:241)
[qpid-amqp-1-0-common-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.framing.ConnectionHandler.parse(ConnectionHandler.java:75)
[qpid-amqp-1-0-common-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.client.TCPTransportProvier.doRead(TCPTransportProvier.java:217)
[qpid-amqp-1-0-client-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.client.TCPTransportProvier.access$000(TCPTransportProvier.java:43)
[qpid-amqp-1-0-client-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.client.TCPTransportProvier$1.run(TCPTransportProvier.java:158)
[qpid-amqp-1-0-client-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]
2014-11-27 10:03:16,336
[org.springframework.jms.listener.DefaultMessageListenerContainer#0-198] INFO
o.s.j.c.SingleConnectionFactory - Established shared JMS Connection:
org.apache.qpid.amqp_1_0.jms.impl.ConnectionImpl@3eee6cf0
2014-11-27 10:03:16,336 [Thread-261] DEBUG o.s.j.c.SingleConnectionFactory -
Closing shared JMS Connection:
org.apache.qpid.amqp_1_0.jms.impl.ConnectionImpl@3eee6cf0
2014-11-27 10:03:16,336
[org.springframework.jms.listener.DefaultMessageListenerContainer#0-198] ERROR
o.s.j.l.DefaultMessageListenerContainer - Could not refresh JMS Connection for
destination 'org.apache.qpid.amqp_1_0.jms.impl.QueueImpl@e4f134ac' - retrying
in 5000 ms. Cause: Closed javax.jms.IllegalStateException: Closed
at
org.apache.qpid.amqp_1_0.jms.impl.ConnectionImpl.checkClosed(ConnectionImpl.java:501)
~[qpid-amqp-1-0-client-jms-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.apache.qpid.amqp_1_0.jms.impl.ConnectionImpl.start(ConnectionImpl.java:365)
~[qpid-amqp-1-0-client-jms-0.32-SNAPSHOT.jar:0.32-SNAPSHOT]
at
org.springframework.jms.connection.SingleConnectionFactory$SharedConnectionInvocationHandler.invoke(SingleConnectionFactory.java:525)
~[spring-jms-4.0.1.RELEASE.jar:4.0.1.RELEASE]
at com.sun.proxy.$Proxy72.start(Unknown Source) ~[na:na]
at
org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContainer.java:400)
~[spring-jms-4.0.1.RELEASE.jar:4.0.1.RELEASE]
at
org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:885)
[spring-jms-4.0.1.RELEASE.jar:4.0.1.RELEASE]
at
org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:861)
[spring-jms-4.0.1.RELEASE.jar:4.0.1.RELEASE]
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1013)
[spring-jms-4.0.1.RELEASE.jar:4.0.1.RELEASE]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]
2014-11-27 10:03:22,355
[org.springframework.jms.listener.DefaultMessageListenerContainer#0-198] INFO
o.s.j.c.SingleConnectionFactory - Established shared JMS Connection:
org.apache.qpid.amqp_1_0.jms.impl.ConnectionImpl@743a3153
2014-11-27 10:03:22,412
[org.springframework.jms.listener.DefaultMessageListenerContainer#0-198] INFO
o.s.j.l.DefaultMessageListenerContainer - Successfully refreshed JMS Connection
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]