Hi For topics you need durable subscribers to ensure they receive the message. As the message will be discarded if sent to a topic with no active subscribers. Durable subscribers ensures the message will be stored, and send when the subscriber becomes active.
On Thu, Dec 22, 2011 at 10:04 PM, krishy <calvinkri...@gmail.com> wrote: > We use Camel to send and receive messages from ActiveMQ and observe that > seemingly randomly our integration tests fail. I have not been able to > observe any pattern and even with Camel turned up to TRACE level, see no > exceptions/errors in the logs. > > Most test cases are a variation of the following: > > create route from jms topic (with no selector) -> bean > create route from jms topic (with a selector) -> bean > send a message (that would have been satisfied by the selector) > sleep 5 seconds > assert the beans received the message. > > What we observe is that the listeners are registered alright: > > [ main] JmsConsumer DEBUG > Starting consumer: Consumer[activemq://topic:Assets?selector=] > > and > > [ main] JmsConsumer DEBUG > Starting consumer: > Consumer[activemq://topic:Assets?selector=eventType+IN+%28%27Create%27%29] > > > The message is sent alright: > > [l) thread #18 - seda://enqueue] Configuration$CamelJmsTemplate TRACE Sent > JMS message to: topic://Assets with message: ActiveMQBytesMessage {commandId > = 0, responseRequired = false, messageId = > ID:hudson-56463-1324586663618-0:4:3:1:1, originalDestination = null, > originalTransactionId = null, producerId = null, destination = > topic://Assets, transactionId = null, expiration = 0, timestamp = > 1324586696947, arrival = 0, brokerInTime = 0, brokerOutTime = 0, > correlationId = null, replyTo = null, persistent = false, type = null, > priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, > compressed = false, userID = null, content = > org.apache.activemq.util.ByteSequence@1da4d2c0, marshalledProperties = null, > dataStructure = null, redeliveryCounter = 0, size = 0, properties = > {source=WEB, eventType=Create}, readOnlyProperties = false, readOnlyBody = > false, droppable = false} ActiveMQBytesMessage{ bytesOut = null, dataOut = > null, dataIn = null } > > but it is not received by the listeners. The fact that the same tests pass > once in a while for the same set of messages is very confusing. We have also > tried adding a sleep between the time the message is done and the > assertation is done to rule out any race conditions but still no luck; the > random failures continue. > > We run the ActiveMQ instance for the tests using the activemq-tooling maven > plugin. > > mvn activemq:run test > > Any clues/pointers greatly appreciated > > PS: Apologies if this does not appear to be Camel issue and but an ActiveMQ > issue! > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/ActiveMQ-messages-not-being-received-tp5095635p5095635.html > Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen ----------------- FuseSource Email: cib...@fusesource.com Web: http://fusesource.com Twitter: davsclaus, fusenews Blog: http://davsclaus.blogspot.com/ Author of Camel in Action: http://www.manning.com/ibsen/