I have the following scenario
2 topics defined with 3 durable subscriptions (queues) on each topic, so
jms.topic.Topic1
-- Store1-T1
-- Store2-T1
-- Store3-T1
jms.topic.Topic2
-- Store1-T2
-- Store2-T2
-- Store3-T2
Each queue has a selector with a unique element between stores, and a common element between stores (there are messages that go to all stores, and messages that are store specific)
When I use JMX (either via jconsole, or programatically) to move all messages from the Store1-T1 queue to the Store1-T2 queue, I get a copy of the message in all the queues under the jms.topic.Topic2 address. I assume this is because the messages contain the value that represents the common selector, but I would expect that if I am explicitly declaring that messages need to move from one queue to another, that copies will not be put in other queues in the same address.
This is not the behavior I expect. What I expect is that if I move messages from Store1-T1 to Store1-T2 that Store1-T2 is the only queue that will have that message.