5 Replies Latest reply on May 28, 2013 7:47 AM by Andy Taylor

    Messages does not removed after consumption for jms.Topic configured as Core Queue.

    Cassidy Cassidy Newbie

      Hello,

      My system configuration:

      JBoss EAP 6.0.1.GA, AS 7.1.3 final, hornetq-2.2.23.Final-redhat-1

       

      I have Core Queue configured for jms.Topic. Messages consumed successfully(onMessage method is called on MDB) for some time, but it seems that they are never removed from topic.

      As result memory consumption for adress going up to value which defined in <max-size-bytes> and then adress is blocked due to <address-full-policy>BLOCK</address-full-policy>. I've tried to configure jms.Topic without  Core Queue configuration - it works fine. Also I've configured jms.Queue as Core Queue explicitly - it also works fine. I know that I can configure different adress policy, but it will not affect root cause of the problem. Another remark: problem is simplified use case of Core Bridge usage: it's reproducible, if bridge goes offline. But with online bridge Core Queue configured for jms.Topic works correctly, Could you please give some advice regarding this problem, maybe I am missing some configuration?

      Configuration:

      Core queue and jms destinations:

      <core-queues>

           <queue name="jms.topic.TestLockDestination">

                <address>jms.topic.TestLockDestination</address>

                <durable>false</durable>

           </queue>

      </core-queues>

       

      <jms-destinations>

            <jms-topic name="TestLockDestination">

                <entry name="java:/jms/topic/TestLockDestination"/>

           </jms-topic>

      </jms-destinations>

      Connection factory:

      <pooled-connection-factory name="hornetq-ra-testlock">

               <transaction mode="local"/>

                        <connectors>

                                   <connector-ref connector-name="in-vm"/>

                         </connectors>

                         <entries>

                                   <entry name="java:/TestLockConnectionFactory"/>

                         </entries>

                         <consumer-window-size>0</consumer-window-size>

                         <pre-acknowledge>true</pre-acknowledge>

      </pooled-connection-factory>

      Adress:

      <address-setting match="jms.queue.TestLockDestination">

                                  <expiry-address>jms.queue.ExpiryQueue</expiry-address>

                                  <redelivery-delay>0</redelivery-delay>

                                  <max-size-bytes>10485760</max-size-bytes>

                                  <address-full-policy>BLOCK</address-full-policy>

                                  <message-counter-history-day-limit>10</message-counter-history-day-limit>

      </address-setting>