Re: Aggregator not working for me in 2.0

2009-08-29 Thread huntc

Many apologies - I found the problem. I thought that I was checking to see if
the old exchange was null in my aggregation strategy. I was actually
checking the body of the old exchange for null and thus a null pointer
exception must have been thrown somewhere.
-- 
View this message in context: 
http://www.nabble.com/Aggregator-not-working-for-me-in-2.0-tp25202246p25207993.html
Sent from the Camel - Users (activemq) mailing list archive at Nabble.com.



Camel 2.0 jms producer/consumer log indications around replies and persistence

2009-08-29 Thread huntc

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.