java - JMS MockTopic message not picked up by message listener? -
i trying write junit test show jms subscriber's start() function kicks off message listener topic (and messages not being consumed before start() called).
i running issue messages placed on topic before start() function called not processed once start() called. messages placed on topic after start() called processed immediately.
mocktopic topicwriter = getmocktopic(topic); // publish message listener pick mockobjectmessage objectmessage = new mockobjectmessage(message); objectmessage.setbooleanproperty("broadcast", true); topicwriter.addmessage(objectmessage); // message doesn't consumed because subscriber has not been started //...assert message not processed... (**succeeds**) // start subscriber/listener subscriber.start(); //...assert messages sitting on topic processed... (**fails**) // publish message listener pick topicwriter.addmessage(objectmessage); //...assert message gets processed... (**succeeds**)
while shows listener not running before start(), kicking off message listener should cause messages on topic processed.
i've attempted make sure persistency wasn't cause adding:
objectmessage.setjmsdeliverymode(deliverymode.persistent);
but did not help.
actually running program seems indicate messages residing on topic processed on start(). know why messages on mocktopic might not getting processed @ start()? limitation of mocktopic?
i'm not totally clear if mocktopic issue, respect standard jms, not expect started listener receive messages published before started unless durable subscription. persistence neither here nor there.
Comments
Post a Comment