Hi there, I've just noted something non-intuitive in the Camel 2.0 debug logs that'd be great to have explained.
My scenario is that I wish to send out an exchange to a JMS queue endpoint. I require persistence of the exchange by the broker. I do not require a response. Similarly the queue is to receive exchanges and not send back a response. Here is how the producer is defined: .to(ExchangePattern.InOnly, "jms-sender:com.classactionpl.saveGPSTrackerCollection") Here is how the consumer is defined: from("jms-receiver:com.classactionpl.saveGPSTrackerCollection") .inOnly() jms-sender and jms-receiver are defined as ActiveMQComponents. >From the doco the above should be enough I would have thought. Persistence is provided by default for JMS endpoints. The use of the inOnly exchange pattern should be sufficient to indicate that a reply is not required. However when sending the message the log shows: 2009-08-30 12:24:01,968 [mousIoService-1] DEBUG Configuration$CamelJmsTemplate - Sending JMS message to: queue://com.classactionpl.saveGPSTrackerCollection with message: ActiveMQObjectMessage {commandId = 0, responseRequired = false, messageId = null, originalDestination = null, originalTransactionId = null, producerId = null, destination = null, transactionId = null, expiration = 0, timestamp = 0, arrival = 0, brokerInTime = 0, brokerOutTime = 0, correlationId = null, replyTo = null, persistent = false, type = null, priority = 0, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activemq.util.byteseque...@67ce08c7, marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size = 0, properties = {collectionIdentification=urn:x-com-classactionpl-becatech-sentinel-trackers:/cn=Becatech Demo Trackers,dc=becatech,dc=com,ou=tracker-collections,ou=groups,ou=system}, readOnlyProperties = false, readOnlyBody = false, droppable = false} responseRequired = false which is what I would expect. However persistent = false obviously suggests that the exchange will not be persisted by the broker. Is this indeed the case? For the response: 2009-08-30 12:24:02,013 [enerContainer-1] DEBUG EndpointMessageListener - Endpoint[jms-receiver://com.classactionpl.saveGPSTrackerCollection] consumer receiving JMS message: ActiveMQObjectMessage {commandId = 5, responseRequired = true, messageId = ID:Christopher-Hunts-MacBook-Air.local-58232-1251599040542-2:1:1:1:1, originalDestination = null, originalTransactionId = null, producerId = ID:Christopher-Hunts-MacBook-Air.local-58232-1251599040542-2:1:1:1, destination = queue://com.classactionpl.saveGPSTrackerCollection, transactionId = null, expiration = 0, timestamp = 1251599041968, arrival = 0, brokerInTime = 1251599041969, brokerOutTime = 1251599041992, correlationId = null, replyTo = null, persistent = true, type = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activemq.util.byteseque...@67ce08c7, marshalledProperties = org.apache.activemq.util.byteseque...@51707653, dataStructure = null, redeliveryCounter = 0, size = 4675, properties = {collectionIdentification=urn:x-com-classactionpl-becatech-sentinel-trackers:/cn=Becatech Demo Trackers,dc=becatech,dc=com,ou=tracker-collections,ou=groups,ou=system}, readOnlyProperties = true, readOnlyBody = true, droppable = false} This time I see responseRequired = true (which it isn't) and persistent=true. I'm presuming that the persistent=true is with respect to the response, if there was one, which there isn't. Why though is responseRequired=true? Thank you for helping me understand what Camel is stating. Kind regards, Christopher -- View this message in context: http://www.nabble.com/Camel-2.0-jms-producer-consumer-log-indications-around-replies-and-persistence-tp25208131p25208131.html Sent from the Camel - Users (activemq) mailing list archive at Nabble.com.