]
Jeff Mesnil resolved WFLY-2608.
-------------------------------
Fix Version/s: 9.0.0.Alpha1
Resolution: Done
Fixed in HornetQ since 2.4.2.Final
MDB not receiving messages from JMS queue.
------------------------------------------
Key: WFLY-2608
URL:
https://issues.jboss.org/browse/WFLY-2608
Project: WildFly
Issue Type: Bug
Components: JMS
Affects Versions: 8.0.0.Beta1
Reporter: Corey Puffalt
Assignee: Jeff Mesnil
Fix For: 9.0.0.Alpha1
We've run into a situation where MDBs stopped receiving messages from a JMS queue
although the JMS queue itself was continuing to receive new messages from an EJB. The
forum thread referenced below has more background information but basically at some point
we see the following in our server logs:
{code}
00:50:28,915 WARN [org.hornetq.core.protocol.core.impl.RemotingConnectionImpl]
(hornetq-failure-check-thread) Connection failure has been detected: Did not receive data
from invm:0. It is likely the client has exited or crashed without closing its connection,
or the network between the server and client has failed. You also might have configured
connection-ttl and client-failure-check-period incorrectly. Please check user manual for
more information. The connection will now be closed. [code=3]
00:50:29,208 WARN [org.hornetq.core.server.impl.ServerSessionImpl]
(hornetq-failure-check-thread) Client connection failed, clearing up resources for session
e33d5fe6-caf3-11e2-bc0f-3d92824f2653
00:50:29,235 WARN [org.hornetq.core.server.impl.ServerSessionImpl]
(hornetq-failure-check-thread) Cleared up resources for session
e33d5fe6-caf3-11e2-bc0f-3d92824f2653
[the above two messages are repeated a number of times in rapid succession...and then
finally we get...]
00:50:30,187 WARN [org.hornetq.jms.server.recovery.RecoveryDiscovery] (Thread-18647
(HornetQ-client-global-threads-2106576636)) Notified of connection failure in xa
discovery, we will retry on the next recovery: HornetQException[errorCode=2
message=Channel disconnected]
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl.connectionDestroyed(ClientSessionFactoryImpl.java:381)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_16_FINAL, 122)]
at
org.hornetq.core.remoting.impl.invm.InVMConnector$Listener$1.run(InVMConnector.java:203)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_16_FINAL, 122)]
at
org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_16_FINAL, 122)]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
[rt.jar:1.7.0_07]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
[rt.jar:1.7.0_07]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
00:50:29,240 WARN [org.hornetq.jms.server.recovery.HornetQXAResourceWrapper]
(Thread-18651 (HornetQ-client-global-threads-2106576636)) Notified of connection failure
in xa recovery connectionFactory for provider ClientSessionFactoryImpl
[serverLocator=ServerLocatorImpl
[initialConnectors=[org-hornetq-core-remoting-impl-invm-InVMConnectorFactory?server-id=0],
discoveryGroupConfiguration=null],
connectorConfig=org-hornetq-core-remoting-impl-invm-InVMConnectorFactory?server-id=0,
backupConfig=null] will attempt reconnect on next pass: HornetQException[errorCode=2
message=Channel disconnected]
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl.connectionDestroyed(ClientSessionFactoryImpl.java:381)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_16_FINAL, 122)]
at
org.hornetq.core.remoting.impl.invm.InVMConnector$Listener$1.run(InVMConnector.java:203)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_16_FINAL, 122)]
at
org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
[hornetq-core-2.2.16.Final.jar:2.2.16.Final (HQ_2_2_16_FINAL, 122)]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
[rt.jar:1.7.0_07]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
[rt.jar:1.7.0_07]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
00:50:38,633 INFO [org.hornetq.jms.server.recovery.RecoveryDiscovery] (HornetQ Recovery
Discovery Reinitialization) Starting RecoveryDiscovery on XARecoveryConfig
[transportConfiguration =
[org-hornetq-core-remoting-impl-invm-InVMConnectorFactory?server-id=0],
discoveryConfiguration = null, username=null, password=null]
00:50:38,636 INFO [org.hornetq.jms.server.recovery.RecoveryDiscovery] (HornetQ Recovery
Discovery Reinitialization) RecoveryDiscovery started fine on XARecoveryConfig
[transportConfiguration =
[org-hornetq-core-remoting-impl-invm-InVMConnectorFactory?server-id=0],
discoveryConfiguration = null, username=null, password=null]
{code}
After this our MDB never receives any further messages until a server restart. HornetQ
should be recovering from this situation (whatever the cause).