Uploaded image for project: 'JBoss A-MQ'
  1. JBoss A-MQ
  2. ENTMQ-1824

[message expiry, consumer side] pull request hangs if message expires on client side in org.apache.activemq.ActiveMQMessageConsumer

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • JBoss A-MQ 6.3
    • JBoss A-MQ 6.2.1
    • jms-client
    • None
    • Workaround Exists
    • Hide

      call "connection.setConsumerExpiryCheckEnabled(false)" on the consumer connectionFactory to ensure the message is not expired on the consumer.

      Show
      call "connection.setConsumerExpiryCheckEnabled(false)" on the consumer connectionFactory to ensure the message is not expired on the consumer.
    • Hide

      attaching a unit test

      Show
      attaching a unit test

      This issue only occurs if a consumer has a prefetch=0 (consumer using pull requests).

      If the message expires on the consumer in org.apache.activemq.ActiveMQMessageConsumer before the message is dispatched to the application code , the consumer can become hung in the
      following scenario.

      at java.lang.Object.wait(Native Method)
      	at java.lang.Object.wait(Object.java:502)
      	at org.apache.activemq.FifoMessageDispatchChannel.dequeue(FifoMessageDispatchChannel.java:72)
      	- locked <0x00000000fadaaa58> (a java.lang.Object)
      	at org.apache.activemq.ActiveMQMessageConsumer.dequeue(ActiveMQMessageConsumer.java:482)
      	at org.apache.activemq.ActiveMQMessageConsumer.receive(ActiveMQMessageConsumer.java:637)
      

      Workaround: call "connection.setConsumerExpiryCheckEnabled(false)" on the consumer connectionFactory to ensure the message is not expired on the consumer.

              tbish@redhat.com Timothy Bish (Inactive)
              rhn-support-pfox Patrick Fox (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: