You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Rob Davies (JIRA)" <ji...@apache.org> on 2008/02/18 13:52:15 UTC
[jira] Resolved: (AMQ-1583) Creating a durable subscriber throws
ConcurrentModificationException
[ https://issues.apache.org/activemq/browse/AMQ-1583?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rob Davies resolved AMQ-1583.
-----------------------------
Fix Version/s: 5.1.0
Resolution: Fixed
Fixed by SVN revision 628708
> Creating a durable subscriber throws ConcurrentModificationException
> --------------------------------------------------------------------
>
> Key: AMQ-1583
> URL: https://issues.apache.org/activemq/browse/AMQ-1583
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.1.0
> Reporter: Rainer Klute
> Assignee: Rob Davies
> Fix For: 5.1.0
>
>
> My JMS application uses a single topic and few hundred durable subscribers. While some of the consumers are already receiving messages, others are created. During the creation of one of the durable subscribers, a java.util.ConcurrentModificationException in the size() method of org.apache.activemq.broker.region.cursors.StoreDurableSubscriberCursor occured. Here's the stack trace:
> javax.jms.JMSException: java.util.ConcurrentModificationException
> at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
> at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1181)
> at org.apache.activemq.ActiveMQSession.syncSendPacket(ActiveMQSession.java:1749)
> at org.apache.activemq.ActiveMQMessageConsumer.<init>(ActiveMQMessageConsumer.java:215)
> at org.apache.activemq.ActiveMQTopicSubscriber.<init>(ActiveMQTopicSubscriber.java:117)
> at org.apache.activemq.ActiveMQSession.createDurableSubscriber(ActiveMQSession.java:1164)
> at de.dpwn.bde.bms.optima.service.eventreceiver.DeviceListenerThread.<init>(DeviceListenerThread.java:98)
> at de.dpwn.bde.bms.optima.service.eventreceiver.EventReceiverService.addDeviceListener(EventReceiverService.java:184)
> at de.dpwn.bde.bms.optima.device.DeviceFactory.getBinDevice(DeviceFactory.java:463)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at de.dpwn.bde.bms.optima.service.eventreceiver.EventCaller.call(EventCaller.java:124)
> at de.dpwn.bde.bms.optima.service.eventreceiver.ConfigListenerThread.run(ConfigListenerThread.java:126)
> Caused by: java.util.ConcurrentModificationException
> at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:761)
> at java.util.LinkedList$ListItr.next(LinkedList.java:696)
> at org.apache.activemq.broker.region.cursors.StoreDurableSubscriberCursor.size(StoreDurableSubscriberCursor.java:236)
> at org.apache.activemq.broker.region.PrefetchSubscription.getPendingQueueSize(PrefetchSubscription.java:392)
> at org.apache.activemq.broker.region.DurableTopicSubscription.getPendingQueueSize(DurableTopicSubscription.java:207)
> at org.apache.activemq.broker.region.DurableTopicSubscription.toString(DurableTopicSubscription.java:229)
> at java.lang.String.valueOf(String.java:2827)
> at java.lang.StringBuilder.append(StringBuilder.java:115)
> at org.apache.activemq.broker.region.DurableTopicSubscription.activate(DurableTopicSubscription.java:97)
> at org.apache.activemq.broker.region.TopicRegion.addConsumer(TopicRegion.java:103)
> at org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:372)
> at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:85)
> at org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:81)
> at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:85)
> at org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:95)
> at org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:525)
> at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:334)
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:281)
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
> at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:100)
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
> at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:200)
> at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:118)
> at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:42)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.