GitHub user Hauenstein opened a pull request:
https://github.com/apache/activemq/pull/114
https://issues.apache.org/jira/browse/AMQ-5265
This is a revision of AMQ-5265 -- the original fix didn't quite clean up
all of the mbeans that MBeanBridgeDestination created, as [noted in the
original issue by Tarek
Hammoud](https://issues.apache.org/jira/browse/AMQ-5265?focusedCommentId=14527137&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14527137).
The key for the map used to track the ObjectNames was an ActiveMQDestination
(which uses the destination's physical name for its equals() implementation)
caused the inbound and outbound entries in the map to randomly replace each
other.
Like Tarek, I could reproduce this issue using 5.11.1 with two networked
brokers (full duplex) with a client publishing to a topic. After I restart a
broker, the logs on the non-restarted broker show the MBeanBridgeDestination
reporting many InstanceAlreadyExistsExceptions when trying to register the
unintentionally-duplicated mbeans.
Please let me know if this makes sense or if there are any changes you
would suggest (ex: is there a reasonable way or an example I could follow to
add a unit test for something like this?). Thanks!
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/Hauenstein/activemq master
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/activemq/pull/114.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #114
----
commit 139916e3eee1b60992e13657069358186e57247f
Author: L. Hauenstein <[email protected]>
Date: 2015-06-11T18:34:28Z
https://issues.apache.org/jira/browse/AMQ-5265
Revision of AMQ-5265 - fixed the map that tracks
MBeanBridgeDestination's registered mbeans so that it cleans itself up
correctly when stopped.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---