Am 19.11.2011 18:21, Timothy Bish wrote:

If you want to be sure that the message is processed, then you need to
add a receipt request, otherwise the delivery is not guaranteed.   You
await the receipt an once received you know the broker had a chance to
process the message before the connection was closed as inactive.

Thank you for your answer, I will use receipt headers in my tests now as you suggested.

With my current tests (which do not use a receipt header in the Stomp SEND frame), I see the following output repeatedly in the broker log.

These messages start to appear a few moments after the client waited too long:

WARN | Transport failed: org.apache.activemq.transport.InactivityIOException: C
hannel was inactive for too (>2000) long: tcp://127.0.0.1:49459
 WARN | Failed to browse Topic: TEST.DEFAULT
java.lang.NullPointerException
at org.apache.activemq.broker.region.policy.LastImageSubscriptionRecover
yPolicy.browse(LastImageSubscriptionRecoveryPolicy.java:63)
        at org.apache.activemq.broker.region.Topic.doBrowse(Topic.java:572)
at org.apache.activemq.broker.region.Topic.access$100(Topic.java:63)
        at org.apache.activemq.broker.region.Topic$6.run(Topic.java:667)
at org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.
java:33)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)


Regards
--
Michael Justin

Reply via email to