A couple of more points: * 1.6.0 behaves like 1.6.1, as far as I can tell.
* Loss of message body only occurs if *unmarshalling has taken place*. We've an element like this: <unmarshal> <jaxb prettyPrint="true" contextPath="no.spk.felles.domene.melding" /> </unmarshal> If I replace this element (and the bean calls it's for), with a bean call that simply throws an exception, the message body will be intact after the message has been moved by onException. - Rune Claus Ibsen-2 wrote: > > On Thu, Jun 18, 2009 at 10:51 AM, RuneB <rune.b...@spk.no> wrote: > >> >> Hi, >> >> The message body is definitely there when the message is consumed from >> the >> original queue. >> >> It's in the moving to the destination queue, as a result of an exception, >> that the message body is lost. >> >> I'm inspecting the destination queue using the ActiveMQ admin tool. Also, >> we >> have a bean that in turn consumes the destination queue; debugging this >> bean >> confirms that the body is lost. >> >> I'll get back to you about the other things you asked. > > > Cool. I will be out of office in a hour or so, but will be back on monday. > > > >> >> >> - Rune >> >> >> >> Claus Ibsen-2 wrote: >> > >> > Hi >> > No we have not have this reported before. >> > Could you create a small unit test that demonstrates this bug / issue? >> > >> > Do you say you loose the body when you consume it from the JMS queue? >> > Or do you lose the body before its sent to the JMS queue? >> > eg when you use a JMS queue browser can you see the body? >> > >> > Can you try with 1.6.0 also. That would help narrow down the number of >> > code >> > changes in between. >> > >> > >> > >> > >> > On Thu, Jun 18, 2009 at 10:23 AM, RuneB <rune.b...@spk.no> wrote: >> > >> >> >> >> After upgrading from 1.5.0 to 1.6.1, we find that that exception >> clauses >> >> such >> >> as this one >> >> >> >> <onException> >> >> <exception>my.package.SomeException</exception> >> >> <redeliveryPolicy maximumRedeliveries="0" /> >> >> <handled> >> >> <constant>true</constant> >> >> </handled> >> >> <to ref="tpforholdArbeidskoe" /> >> >> </onException> >> >> >> >> cause the message body to be *empty* after the message has been moved >> to >> >> tpforholdArbeidskoe. >> >> >> >> (tpforholdArbeidskoe is a message queue on ActiveMQ, as is the route's >> >> from-endpoint). >> >> >> >> The following trace may be of relevance: >> >> --------------------------------------------------- >> >> 17:11:20,844 ERROR [STDERR] 17.jun.2009 17:11:20 >> >> org.apache.camel.component.jms.JmsProducer process >> >> WARNING: Disabling JMSReplyTo as this Exchange is not OUT capable: >> >> Exchange[JmsMessage: ActiveMQTextMessage {commandId = >> >> 8, responseRequired = false, messageId = >> >> ID:vmutvjee1-b58-2757-1245247294282-2:3:1:1:4, originalDestination = >> >> null, >> >> ori >> >> ginalTransactionId = null, producerId = >> >> ID:vmutvjee1-b58-2757-1245247294282-2:3:1:1, destination = >> >> queue://queue.samordn >> >> ing.TPForhold, transactionId = null, expiration = 0, timestamp = >> >> 1245251471047, arrival = 0, brokerInTime = 124525147106 >> >> 3, brokerOutTime = 1245251471063, correlationId = , replyTo = null, >> >> persistent = false, type = , priority = 0, groupID = >> >> null, groupSequence = 0, targetConsumerId = null, compressed = false, >> >> userID = null, content = null, marshalledProperti >> >> es = null, dataStructure = null, redeliveryCounter = 0, size = 0, >> >> properties >> >> = null, readOnlyProperties = true, readOnly >> >> Body = true, droppable = false, text = <?xml version="1.0" >> >> encoding="UTF-8"?> >> >> <TPForholdHendelse> >> >> <type>Opprett</type> >> >> <ordning>1015</ordning> >> >> <datKundeFoedtNum>xxxxxxx</datKundeFoedtNum> >> >> <ideKundePrsnr>xxxxxx</ideKundePrsnr> >> >> </TPForholdHendelse> >> >> }] with destination: queue.samordning.TPForholdTilArbeidskoe >> >> >> >> 17:11:20,860 ERROR [STDERR] 17.jun.2009 17:11:20 >> >> org.apache.camel.processor.Logger log >> >> SEVERE: Failed delivery for exchangeId: >> >> ID-vmutvjee1-b58/3030-1245251235079/0-0. Handled by the failure >> >> processor: >> >> Trace >> >> Interceptor[To[ref:tpforholdArbeidskoe]] >> >> >> >> 17:11:20,875 ERROR [STDERR] 17.jun.2009 17:11:20 >> >> org.apache.camel.processor.Logger process >> >> INFO: ID-vmutvjee1-b58/3030-1245251235079/2-1 -> choice(), >> Pattern:InOnly >> >> , >> >> Headers:{JMSTimestamp=1245251480860, org.apa >> >> che.camel.MultiParameterArray=false, JMSType=, >> >> org.apache.camel.RedeliveryCounter=0, JMSXGroupID=null, >> JMSReplyTo=null, >> >> JMSDestination=queue://queue.samordning.TPForholdTilArbeidskoe, >> >> JMSRedelivered=false, JMSExpiration=0, org.apache.camel. >> >> Redelivered=false, >> >> JMSMessageID=ID:vmutvjee1-b58-3023-1245251233625-0:642:1:1:1, >> >> JMSDeliveryMode=2, JMSCorrelationID=, J >> >> MSPriority=4} , BodyType:null , Body:null >> >> --------------------------------------------------- >> >> >> >> Anyone know the reason why we lose the message body? >> >> >> >> - Rune >> >> >> >> -- >> >> View this message in context: >> >> >> http://www.nabble.com/Message-body-lost-when-message-moved-by-exception-clause-tp24088536p24088536.html >> >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> >> >> >> > >> > >> > -- >> > Claus Ibsen >> > Apache Camel Committer >> > >> > Open Source Integration: http://fusesource.com >> > Blog: http://davsclaus.blogspot.com/ >> > Twitter: http://twitter.com/davsclaus >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/Message-body-lost-when-message-moved-by-exception-clause-tp24088536p24088903.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> > > > -- > Claus Ibsen > Apache Camel Committer > > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus > > -- View this message in context: http://www.nabble.com/Message-body-lost-when-message-moved-by-exception-clause-tp24088536p24092993.html Sent from the Camel - Users mailing list archive at Nabble.com.