Details
-
Bug
-
Resolution: Done
-
Major
-
None
-
None
-
None
Description
After upgrading to JBoss A-MQ 6.0R1, getting the following exception when we connect a durable subscriber to the broker:| [java] javax.jms.JMSException: org.apache.activemq.broker.region.cursors.FilePendingMessageCursor cannot be cast to org.apache.activemq.broker.region.cursors.StoreDurableSubscriberCursor|
[java] at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:54) |
[java] at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1391) |
[java] at org.apache.activemq.ActiveMQSession.syncSendPacket(ActiveMQSession.java:1925) |
[java] at org.apache.activemq.ActiveMQMessageConsumer.<init>(ActiveMQMessageConsumer.java:273) |
[java] at org.apache.activemq.ActiveMQTopicSubscriber.<init>(ActiveMQTopicSubscriber.java:117) |
[java] at org.apache.activemq.ActiveMQSession.createDurableSubscriber(ActiveMQSession.java:1326) |
[java] at org.apache.activemq.ActiveMQSession.createDurableSubscriber(ActiveMQSession.java:1262) |
[java] at ConsumerTool.run(Unknown Source) |
[java] Caused by: java.lang.ClassCastException: org.apache.activemq.broker.region.cursors.FilePendingMessageCursor cannot be cast to org.apache.activemq.broker.region.cursors.StoreDurableSubscriberCursor |
[java] at org.apache.activemq.broker.region.DurableTopicSubscription.activate(DurableTopicSubscription.java:165) |
[java] at org.apache.activemq.broker.region.TopicRegion.addConsumer(TopicRegion.java:158) |
[java] at org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:391) |
[java] at org.apache.activemq.broker.jmx.ManagedRegionBroker.addConsumer(ManagedRegionBroker.java:230) |
[java] at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:97) |
[java] at org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:76) |
[java] at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:97) |
[java] at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:97) |
[java] at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:97) |
[java] at org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:102) |
[java] at org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:624) |
[java] at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:332) |
[java] at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:329) |
[java] at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:184) |
[java] at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) |
[java] at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) |
[java] at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:288) |
[java] at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) |
[java] at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214) |
[java] at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) |
[java] at java.lang.Thread.run(Thread.java:722) |
[java] All threads completed their work |
The broker is configured with the following destination policy:| <destinationPolicy>|
<policyMap> |
<policyEntries> |
<policyEntry topic=">" producerFlowControl="true" memoryLimit="2mb"> |
<pendingSubscriberPolicy> |
<vmCursor /> |
</pendingSubscriberPolicy> |
<pendingDurableSubscriberPolicy> |
<fileDurableSubscriberCursor /> |
</pendingDurableSubscriberPolicy> |
</policyEntry> |
<policyEntry queue=">" producerFlowControl="true" memoryLimit="2mb"> |
<pendingQueuePolicy> |
<vmQueueCursor /> |
</pendingQueuePolicy> |
</policyEntry> |
</policyEntries> |
</policyMap> |
</destinationPolicy> |