[
https://issues.apache.org/jira/browse/AMQ-4523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13652046#comment-13652046
]
hengyunabc commented on AMQ-4523:
---------------------------------
I uploaded the data files here:
http://activemq.2283324.n4.nabble.com/The-durable-subscriber-will-lose-some-pending-queue-message-td4666780.html
I think that maybe this issue relate to AMQ-4413.
Beacuse I found the in ActiveMQ5.8, the TransactionManager will active/offline
the durable subscriber very frequently. Just with jconsole watch the consumer
of a topic, it alaways changeing.
> The durable subscriber will lose some pending queue message
> ------------------------------------------------------------
>
> Key: AMQ-4523
> URL: https://issues.apache.org/jira/browse/AMQ-4523
> Project: ActiveMQ
> Issue Type: Bug
> Components: activemq-camel, Broker
> Affects Versions: 5.8.0
> Reporter: hengyunabc
>
> With camel route, forward messages from a topic to a queue.
> Just start a topic producer, such as:
> {code}
> ant -Durl=tcp://ip:port -Dtopic=true -Dsubject=test_topic -Ddurable=true
> -Dmax=10000 -DmessageSize=100 -DparallelThread=10 -Dverbose=false producer
> {code}
> After a while, in web console: /admin/subscribers.jsp ,can see "Pending Queue
> Size" not 0.
> Then stop the topic producer, will found that the "Pending Queue Size" still
> not 0!
> Some messages lost, pending in the durable subscriber.
> No matter restart the activemq server, or consume all the messages from the
> queue, can not get "The Pending Queue Messages'.
> camel.xml:
> {code}
> <beans
> xmlns="http://www.springframework.org/schema/beans"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="
> http://camel.apache.org/schema/spring
> http://camel.apache.org/schema/spring/camel-spring.xsd
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd">
>
> <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
> <!-- You can use Spring XML syntax to define the routes here using
> the <route> element -->
> <route id="testRoute">
> <description>test Route</description>
> <from
> uri="jms1:topic:test_topic?clientId=1&durableSubscriptionName=bar1"/>
> <to uri="jms1:queue:test_queue"/>
> </route>
> </camelContext>
> <bean id="jms1" class="org.apache.camel.component.jms.JmsComponent">
> <property name="configuration" ref="jmsConfig1" />
> </bean>
>
> <bean id="jmsConfig1"
> class="org.apache.camel.component.jms.JmsConfiguration" >
> <property name="connectionFactory" ref="jmsPooledConnectionFactory1"
> />
> <property name="transacted" value="true" />
> <property name="transactionManager" ref="jmsTransactionManager1" />
> <property name="cacheLevelName" value="CACHE_CONNECTION" />
> <property name="cacheLevel" value="1" />
> </bean>
> <bean id="jmsTransactionManager1"
> class="org.springframework.jms.connection.JmsTransactionManager">
> <property name="connectionFactory" ref="jmsPooledConnectionFactory1"
> />
> </bean>
> <bean id="jmsPooledConnectionFactory1"
> class="org.apache.activemq.pool.PooledConnectionFactory"
> init-method="start" destroy-method="stop" >
> <property name="maxConnections" value="1" />
> <property name="connectionFactory" ref="jmsConnectionFactory1" />
> </bean>
> <bean id="jmsConnectionFactory1"
> class="org.apache.activemq.ActiveMQConnectionFactory">
> <property name="brokerURL"
> value="vm://localhost?create=false&jms.prefetchPolicy.all=1" />
> <property name="watchTopicAdvisories" value="false" />
> </bean>
> </beans>
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira