[JBoss JIRA] Created: (JBMESSAGING-1707) ConcurrentModificationException in ClientClusteredConnectionFactoryDelegate
by Pavel Slavicek (JIRA)
ConcurrentModificationException in ClientClusteredConnectionFactoryDelegate
---------------------------------------------------------------------------
Key: JBMESSAGING-1707
URL: https://jira.jboss.org/jira/browse/JBMESSAGING-1707
Project: JBoss Messaging
Issue Type: Quality Risk
Components: JMS Client Manager
Affects Versions: 1.4.3.GA
Reporter: Pavel Slavicek
Assignee: Tim Fox
I have found ConcurrentModificationException in ClientClusteredConnectionFactoryDelegate.
Exception in thread "Thread-11" java.util.ConcurrentModificationException
at java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:784)
at java.util.WeakHashMap$KeyIterator.next(WeakHashMap.java:817)
at org.jboss.jms.client.delegate.ClientClusteredConnectionFactoryDelegate$FinalizerShutdownHook.run(ClientClusteredConnectionFactoryDelegate.java:414)
Client:
client with multiple threads, every thread creates-sends-receives-closes.
Problem description:
Problem is in the ClientClusteredConnectionFactoryDelegate.java in the inner class FinalizerShutdownHook.
Shutdown hook implementation should to be written as thread safe (see javadoc for addShutdownHook() method).
Method run() in the FinalizerShutdownHook class iterates over all elements in the registered delegates
but this iteration should be synchronized on the delegates object.
Please see http://java.sun.com/javase/6/docs/api/java/util/Collections.html#synchron...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 7 months
[JBoss JIRA] Created: (JBMESSAGING-1754) Implement the JBossMQ behavior on JBM, when stopDelivery() is invoked via JMX console
by Tyronne Wickramarathne (JIRA)
Implement the JBossMQ behavior on JBM, when stopDelivery() is invoked via JMX console
-------------------------------------------------------------------------------------
Key: JBMESSAGING-1754
URL: https://jira.jboss.org/jira/browse/JBMESSAGING-1754
Project: JBoss Messaging
Issue Type: Feature Request
Components: Messaging Core
Affects Versions: 1.4.0.SP3.CP08
Environment: JBoss-EAP-4.3_CP6, JBM-1.4.0-SP3_CP8P1
Reporter: Tyronne Wickramarathne
When stopDelivery() is invoked via JMX console for any given MDB, the in process messages are rolled back to their corresponding destination without completing the process. This is however *not* a bug, but the expected behavior in JBM, for this is how it has defined the behavior of stopDelivery().
However on JBossMQ, the in process messages are completed at first, before stopDelivery() is processed. Which means, the call made via stopDelivery() will be kept on hold, until all in process messages are successfully completed. The customers migrating from JBossMQ are seeing this as a compatibility issue, when porting their applications to work on JBM. Hence, would it be possible to accommodate the behavior seen in JBossMQ on JBM please ?
I have tested this on both JBoss-EAP-4.3_CP6 as well as on JBoss-EAP-4.2_CP7. Both have the same code base for EJB3,JCA but not the JMS provider. Therefore, I'm raising this feature request under JBM.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 7 months