DestinationMapNode removeAll method is not erasing the given Topic from all the anyChild nodes it should. This leads to severe memory leaks in situations where a lot of advisory topics are created (i.e. working with temporary queues).
As this effect is not found in the trunk, I've found that the related code was heavily changed in r478324. So, I've backported that changes (related with
AMQ-1068) to 4.1 branch. I had to make some additional changes to make the DestinationMapNode class honour the contract if the new DestinationNode interface as needed for java 1.4.
I'm attaching the patch.