You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Hadrian Zbarcea (Work started) (JIRA)" <ji...@apache.org> on 2012/02/14 22:46:01 UTC

[jira] [Work started] (CAMEL-5006) camel-jms component, request/reply results in NullPointer when JMSCorrelationID is set to empty string on inbound JMS message.

     [ https://issues.apache.org/jira/browse/CAMEL-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on CAMEL-5006 started by Hadrian Zbarcea.

> camel-jms component,  request/reply results in NullPointer when JMSCorrelationID is set to empty string on inbound JMS message. 
> --------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-5006
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5006
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-jms
>    Affects Versions: 2.9.0
>            Reporter: Pat Fox
>            Assignee: Hadrian Zbarcea
>            Priority: Minor
>         Attachments: JmsProducer.java.patch, JmsRequestReplyCorrelationTest.java
>
>
> A request/reply invocation results in the following exception when JMSCorrelationID is set to empty String ("") on the inbound JMS message. 
> {code}
> [JmsConsumer[myqueue]] DefaultErrorHandler ERROR Failed delivery for exchangeId: ID-myexchange-id. Exhausted after delivery attempt: 1 caught: java.lang.NullPointerException
> java.lang.NullPointerException
> at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:882)[:1.6.0_30]
> at org.apache.camel.util.DefaultTimeoutMap.put(DefaultTimeoutMap.java:99)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.component.jms.reply.CorrelationMap.put(CorrelationMap.java:68)[camel-jms-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.component.jms.reply.TemporaryQueueReplyManager.registerReply(TemporaryQueueReplyManager.java:42)[camel-jms-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.component.jms.JmsProducer$1.createMessage(JmsProducer.java:157)[camel-jms-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:199)[camel-jms-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$100(JmsConfiguration.java:142)[camel-jms-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$1.doInJms(JmsConfiguration.java:156)[camel-jms-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466)[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:153)[camel-jms-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:343)[camel-jms-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.component.jms.JmsProducer.processInOut(JmsProducer.java:163)[camel-jms-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:98)[camel-jms-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:114)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:284)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:109)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.fabric.FabricTraceProcessor.process(FabricTraceProcessor.java:59)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:318)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:209)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:306)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:116)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:79)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:139)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:106)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:104)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:85)[camel-core-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:91)[camel-jms-2.8.0-fuse-01-20.jar:2.8.0-fuse-01-20]
> at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560)[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_30]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_30]
> at java.lang.Thread.run(Thread.java:662)[:1.6.0_30]
> {code}
> I have also tested this against Trunk version 1239497 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira