camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From falckburker <falck_christop...@bah.com>
Subject Re: Using preserveMessageQos causes AQjmsException in Oracle AQ
Date Fri, 04 Jan 2013 15:30:33 GMT
Thanks for the suggestion, I'll see if removal is viable, but I noticed the
JMSXDeliveryCount is part of a group of headers that are not writeable on
the AQjmsMessage class (whatever those Oracle decided to protect per jms
spec guidance, I'm guessing all JMSX*).

The original goal I had was to verify Camel and Oracle AQ could preserve a
messages JMSPriority that originated from a Tibco broker and then went
through several Camel Oracle AQ routes without having to write custom
endpoints or components.

Stack Trace from Camel 2.10.3, Oracle 11.2.0.1.0 and Spring 3.0.5

08:03:43,616 ERROR DefaultErrorHandler:159 - Failed delivery for (MessageId:
ID:CLIENT1_hub.668F50D20C3E14A1:1 on ExchangeId:
ID-HOSTY-7164-1357218201853-0-1). Exhausted after delivery attempt: 1
caught: org.springframework.jms.UncategorizedJmsException: Uncategorized
exception occured during JMS processing; nested exception is
oracle.jms.AQjmsException: JMS-110: Property JMSXDeliveryCount not writeable
org.springframework.jms.UncategorizedJmsException: Uncategorized exception
occured during JMS processing; nested exception is
oracle.jms.AQjmsException: JMS-110: Property JMSXDeliveryCount not writeable
	at
org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316)
	at
org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168)
	at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:469)
	at
org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:170)
	at org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:402)
	at
org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:356)
	at org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:132)
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
	at
org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:122)
	at
org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:298)
	at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:117)
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
	at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
	at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
	at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
	at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
	at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
	at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
	at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334)
	at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)
	at
org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)
	at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
	at
org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303)
	at
org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)
	at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
	at
org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)
	at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)
	at
org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48)
	at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
	at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
	at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
	at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)
	at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)
	at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86)
	at
org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:104)
	at
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560)
	at
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)
	at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)
	at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)
	at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:243)
	at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
	at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
	at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
Caused by: oracle.jms.AQjmsException: JMS-110: Property JMSXDeliveryCount
not writeable
	at oracle.jms.AQjmsError.throwEx(AQjmsError.java:330)
	at oracle.jms.AQjmsMessage.setSystemProperty(AQjmsMessage.java:2512)
	at oracle.jms.AQjmsMessage.setIntProperty(AQjmsMessage.java:1787)
	at oracle.jms.AQjmsMessage.setObjectProperty(AQjmsMessage.java:2011)
	at
org.apache.camel.component.jms.JmsMessageHelper.removeJmsProperty(JmsMessageHelper.java:80)
	at
org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSend(JmsConfiguration.java:262)
	at
org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:217)
	at
org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$100(JmsConfiguration.java:159)
	at
org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$1.doInJms(JmsConfiguration.java:173)
	at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466)
	... 46 more



--
View this message in context: http://camel.465427.n5.nabble.com/Using-preserveMessageQos-causes-AQjmsException-in-Oracle-AQ-tp5724797p5724910.html
Sent from the Camel Development mailing list archive at Nabble.com.

Mime
View raw message