camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Seon Lee <>
Subject Re: Help w/ Oracle JMS and AQjmsException (JMS-147)
Date Wed, 18 Jun 2008 21:35:49 GMT

I've found a fix for this, but the underlying cause seems to be the
implementation of Message.setRepyTo()  inside the Oracle JMS package.
Specifically, it seems to puke on "null" values for the Destination

I modified the class org.apache.camel.component.jms.JmsBinding @ line 156 in
method appendJmsProperties() to perform a null check on the header value
before attempting to set the replyTo property. 

                else if (headerName.equals("JMSReplyTo") && headerValue !=
null) {


There might be adverse side-effects with outright ignoring the JMSReplyTo
property in this manner, however.

Additionally, while debugging this problem I've discovered what seems to be
a typo/error in Oracle's JMS package. It seems they are not following the
JMS 1.1 spec per the JMSX property named "JMSXRcvTimestamp"; they've
actually named it "JMSXRecvTimestamp" (with an 'e'). This is causing a
subtle error to occur when using the camel JMS component with an Oracle AQ.

I also patched this by modifying the method
JmsBinding.populateIgnoreJmsHeaders() -- adding an additional ignore string
for the Oracle typo "JMSXRecvTimestamp". 

Once I made these two changes, multicasting is working properly with Oracle
AQ queues.

If the devs are interested I will open a JIRA and upload diff patch files
against 1.3.0. I wanted to make sure though that I posted here to see if
anyone else ran into a similar problem and had a better solution -- or
perhaps I am way off-target and this is not a bug.

View this message in context:
Sent from the Camel - Users mailing list archive at

View raw message