You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Sven Turowski (Jira)" <ji...@apache.org> on 2022/03/11 12:08:00 UTC

[jira] [Updated] (AMQ-8542) ACTIVEMQ_MSGS Table fills up but all messages are processed

     [ https://issues.apache.org/jira/browse/AMQ-8542?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sven Turowski updated AMQ-8542:
-------------------------------
    Description: 
We are using ActiveMQ with persistence in an oracle DB. 

Our producer and consumer are some java processes. If we are looking on the ActiveMQ Website we can see that the number of enqueued and dequeued message is equal and there are no pending messages.

The problem is, that the ACTIVEMQ_MSGS table in our DB is not getting empty. It still fills up, slowly but constant. The number of messages in the table is less then the number of enqueued messages. Last night the number of entries in the table was 16k and we truncated the table.

This is our bean configuration for the listener:
{code:java}
 <bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer" destroy-method="shutdown">
  <property name="concurrentConsumers" ref="concconsumer"/>
  <property name="connectionFactory" ref="jmsFactory" />
  <property name="destination">
      <bean class="some.path.queue.QueueBuilder">
                <constructor-arg value="queuename"></constructor-arg>
      </bean>
  </property>     
  <property name="messageListener" ref="messageListener" />
  <property name="sessionTransacted" value="true" />
  <!--<property name="messageSelector" value="true" />-->     
</bean>    
    
<bean id="messageListener" class="some.path.queue.OurListener">
    <property name="propholder" ref="propholder" />
</bean> {code}
We know that all messages we put in the queue are dequeued and processed, but we don't know why there are table entries.

Can you help?

  was:
We are using ActiveMQ with persistence in an oracle DB. 

Our producer and consumer are some java processes. If we are looking on the ActiveMQ Website we can see that the number of enqueued and dequeued message is equal and there are no pending messages.

The problem is, that the ACTIVEMQ_MSGS table in our DB is not getting empty. It still fills up, slowly but constant. The number of messages in the table is less then the number of enqueued messages. Last night the number of entries in the table was 16k and we truncated the table.

This is our bean configuration for the listener:
{code:java}
 <bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer" destroy-method="shutdown">
  <property name="concurrentConsumers" ref="concconsumer"/>
  <property name="connectionFactory" ref="jmsFactory" />
  <property name="destination">
      <bean class="some.path.queue.QueueBuilder">
                <constructor-arg value="queuename"></constructor-arg>
      </bean>
  </property>     
  <property name="messageListener" ref="messageListener" />
  <property name="sessionTransacted" value="true" />
  <!--<property name="messageSelector" value="true" />-->     
</bean>    
    
<bean id="messageListener" class="some.path.queue.OurListener">
    <property name="propholder" ref="propholder" />
</bean> {code}
We know that all messages we put in the queue are dequeued and processed, but we don't know why there are table entries.

Can you hel?


> ACTIVEMQ_MSGS Table fills up but all messages are processed
> -----------------------------------------------------------
>
>                 Key: AMQ-8542
>                 URL: https://issues.apache.org/jira/browse/AMQ-8542
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker, JDBC, JMS client
>    Affects Versions: 5.16.1
>            Reporter: Sven Turowski
>            Priority: Major
>
> We are using ActiveMQ with persistence in an oracle DB. 
> Our producer and consumer are some java processes. If we are looking on the ActiveMQ Website we can see that the number of enqueued and dequeued message is equal and there are no pending messages.
> The problem is, that the ACTIVEMQ_MSGS table in our DB is not getting empty. It still fills up, slowly but constant. The number of messages in the table is less then the number of enqueued messages. Last night the number of entries in the table was 16k and we truncated the table.
> This is our bean configuration for the listener:
> {code:java}
>  <bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer" destroy-method="shutdown">
>   <property name="concurrentConsumers" ref="concconsumer"/>
>   <property name="connectionFactory" ref="jmsFactory" />
>   <property name="destination">
>       <bean class="some.path.queue.QueueBuilder">
>                 <constructor-arg value="queuename"></constructor-arg>
>       </bean>
>   </property>     
>   <property name="messageListener" ref="messageListener" />
>   <property name="sessionTransacted" value="true" />
>   <!--<property name="messageSelector" value="true" />-->     
> </bean>    
>     
> <bean id="messageListener" class="some.path.queue.OurListener">
>     <property name="propholder" ref="propholder" />
> </bean> {code}
> We know that all messages we put in the queue are dequeued and processed, but we don't know why there are table entries.
> Can you help?



--
This message was sent by Atlassian Jira
(v8.20.1#820001)