Using activeMQ as a medium to communicate data between modules. Have Producer P, Subscribers S1 S2 to read from P. Using Queue as a dataset to dispatch data in Round Robin fashion. S1, S2 are receiving data as expected. Having S1, S2 is to achieve fail-safe and load balancing. ACK is sent after the data is processed, in order to make sure we don't miss any data from P.
Observed a scenario where S1 is down with some data read and not processed completely(so, no ACK is sent yet). I was expecting ActiveMQ to re-sent(un-ACK'ed) data to S2. Ofcourse, data is dispatched to S1 on a restart. But time frame is important too.
Help me understand to achieve the mechanism. Appreciate the help.