Hi, I am trying to solve a problem and I am wondering if Virtual Topics provide a solution for the problem. I have 2 brokers in a network of brokers. Broker A has a producer to VirtualTopic.Test and a local consumer Consumer.A.VirtualTopic.Test (lets call it consumer A). Broker B has a local consumer Consumer.A.VirtualTopic.Test (lets call it consumer B). (All clients [producers and consumers] are connected to the local brokers only)
Broker A and Broker B are both running, consumer A is running, consumer B is not running. I want to be able to kill consumer A and broker A entirely (pull the plug), start consumer B and redeliver/process all messages that were not acknowledged by consumer A on consumer B. What I thought would happen (a very naive assumption) is that when a message is produced on the VirtualTopic.Test topic, both brokers will receive the message and when it is acknowledged by consumer A consumer B will not receive it (basically that the topics are treated as separate topics, but the queues as one). But the way it seems is that the message is handed from broker A to consumer A, if consumer A does not acknowledge the message is handed back to the broker A, then handled over to broker B and then to consumer B. The problem is that when broker A is killed, that message is lost. I tried also to use a statically included destination (VirtualTopic.Test), which seems to send copies of the messages to consumer A and consumer B so that once consumer B starts, it will receive all messages (that did not expire), even the ones that were acknowledged already by consumer A. (when both consumers are running all messages are delivered to both consumers) So, am I just missing something or are virtual topics not a solution? -- Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html