Details
Description
JMX statistics on destinations creates a race condition in the MBeanBridgeDestination's onInboundMessage, onOutboundMessage, and the purgeInactiveDestinationView task. If the task fires and removes the objectName while the onInboundMessage or onOutboundMessage fires, it will spit out warnings of it already being created if multiple threads are running. The fix is to properly synchronize in the purgeInactiveDestinationView and also be sure it cleans up itself in the destinationObjectNameMap.
Patch is attached as is a git pull request (for whatever is easier)