Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-15276

camel-jms request/reply artemis client results in: 'IJ000655: No managed connections available within configured blocking timeout (30000 [ms])'

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Major Major
    • fuse-7.9-GA
    • fuse-7.3, fuse-7.7-GA
    • ActiveMQ
    • None
    • False
    • False
    • % %
    • Undefined
    • Hide

      1) deploy the attached WAR to Fuse 7.x on EAP 7.2

      2) let it run (~1hr with default EAP JVM config) until error occurs 

      Note: reproduceable with either shared or temp queue

      Show
      1) deploy the attached WAR to Fuse 7.x on EAP 7.2 2) let it run (~1hr with default EAP JVM config) until error occurs  Note: reproduceable with either shared or temp queue

      A camel-jms client running on EAP, using Artemis RA, using temporary replyTo request/reply over JMS runs until exhaustion of connections resulting in increasing thread count and following logs:

       2020-11-05 09:55:35,020 WARN  [org.apache.camel.component.jms.reply.TemporaryQueueReplyManager] (Camel (Test-Queue-context) thread #101 - Te
      mporaryQueueReplyManager[Sahara.Core.Test]) Exception inside the DMLC for Temporary ReplyTo Queue for destination Sahara.Core.Test, refreshi
      ng ReplyTo destination: javax.jms.JMSException: Could not create a session: IJ000453: Unable to get managed connection for java:/JmsXA
              at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.allocateConnection(ActiveMQRASessionFactoryImpl.java:909)
              at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:531)
              at org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:192)
              at org.springframework.jms.listener.DefaultMessageListenerContainer.access$1400(DefaultMessageListenerContainer.java:124)
              at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.initResourcesIfNecessary(DefaultMess
      ageListenerContainer.java:1188)
              at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListene
      rContainer.java:1167)
              at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageLis
      tenerContainer.java:1160)
              at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.
      java:1057)
              at java.lang.Thread.run(Thread.java:748)
      Caused by: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/JmsXA
              at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:690)
              at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:440)
              at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:789)
              at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.allocateConnection(ActiveMQRASessionFactoryImpl.java:872)
              ... 8 more
      Caused by: javax.resource.ResourceException: IJ000655: No managed connections available within configured blocking timeout (30000 [ms])
              at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.getConnection(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:570)
              at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:632)
              at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:604)
              at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:624)
              ... 11 more2020-11-05 09:55:35,022 WARN  [org.apache.camel.component.jms.DefaultJmsMessageListenerContainer] (Camel (Test-Queue-context) thread #101 - TemporaryQueueReplyManager[Sahara.Core.Test]) Setup of JMS message listener invoker failed for destination 'temporary' - trying to recover. Cause: Could not create a session: IJ000453: Unable to get managed connection for java:/JmsXA
      2020-11-05 09:55:35,022 INFO  [org.apache.camel.component.jms.DefaultJmsMessageListenerContainer] (Camel (Test-Queue-context) thread #101 - TemporaryQueueReplyManager[Sahara.Core.Test]) Successfully refreshed JMS Connection
      

      Heap Dump and JConsole screenshot captured while error newly occurring. Reproduced on both Fuse 7.3 and 7.7 on EAP 7.2.

      This is reproduceable with shared queue as well.

      E.g.,

      12:27:55,824 WARNING [org.apache.camel.component.jms.reply.SharedQueueMessageListenerContainer] (Camel (Test-Queue-context) thread #2459 - QueueReplyManager[Sahara.Core.Test.replyTo]) Setup of JMS message listener invoker failed for destination 'Sahara.Core.Test.replyTo' - trying to recover. Cause: Could not create a session: IJ000453: Unable to get managed connection for java:/JmsXA
      

        1. JConsole.png
          96 kB
          Russell Dorobek

              Unassigned Unassigned
              rdorobek@redhat.com Russell Dorobek
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: