You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Pat Fox (Created) (JIRA)" <ji...@apache.org> on 2012/02/14 21:17:59 UTC

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

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
            Priority: Minor


A request/reply invocation results in the following exception when JMSCorrelationID is set to empty String ("") on the inbound JMS message. 

{code}
[JmsConsumer[personnel.records]] DefaultErrorHandler ERROR Failed delivery for exchangeId: ID-LON-CLI-WRK-164-3867-1329141595146-0-7. 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 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

        

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

Posted by "Hadrian Zbarcea (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CAMEL-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13208044#comment-13208044 ] 

Hadrian Zbarcea commented on CAMEL-5006:
----------------------------------------

Thanks, looks good, testing now.
                
> 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

        

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

Posted by "Hadrian Zbarcea (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hadrian Zbarcea updated CAMEL-5006:
-----------------------------------

    Fix Version/s: 2.10.0
                   2.9.1
                   2.8.5
    
> 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
>             Fix For: 2.8.5, 2.9.1, 2.10.0
>
>         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

        

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

Posted by "Pat Fox (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pat Fox updated CAMEL-5006:
---------------------------

    Attachment:     (was: JmsRequestReplyCorrelationTest.java)
    
> 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
>            Priority: Minor
>
> 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

        

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

Posted by "Hadrian Zbarcea (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CAMEL-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13208024#comment-13208024 ] 

Hadrian Zbarcea commented on CAMEL-5006:
----------------------------------------

Pat, we cannot include patches if you do not explicitly grant us the license to do so. There is a checkbox for that you need to check when you upload (if you are ok with us including your work). If that was your intention could you please remove the attachments and reattach with the grant option? Thanks.
                
> 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
>            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

        

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

Posted by "Hadrian Zbarcea (Work started) (JIRA)" <ji...@apache.org>.
     [ 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

        

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

Posted by "Pat Fox (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pat Fox updated CAMEL-5006:
---------------------------

    Description: 
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 


  was:
A request/reply invocation results in the following exception when JMSCorrelationID is set to empty String ("") on the inbound JMS message. 

{code}
[JmsConsumer[personnel.records]] DefaultErrorHandler ERROR Failed delivery for exchangeId: ID-LON-CLI-WRK-164-3867-1329141595146-0-7. 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 


    
> 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
>            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

        

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

Posted by "Pat Fox (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pat Fox updated CAMEL-5006:
---------------------------

    Attachment: JmsRequestReplyCorrelationTest.java

Added another test method to JmsRequestReplyCorrelationTest.java to show the issue. 

Where JMSCorrelationID is set to empty String I would expect the same behavior as if it set to Null. 
                
> 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
>            Priority: Minor
>         Attachments: 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[personnel.records]] DefaultErrorHandler ERROR Failed delivery for exchangeId: ID-LON-CLI-WRK-164-3867-1329141595146-0-7. 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 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

        

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

Posted by "Pat Fox (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pat Fox updated CAMEL-5006:
---------------------------

    Description: 
A request/reply invocation results in the following exception when JMSCorrelationID is set to empty String ("") on the inbound JMS message. 

{code}
[JmsConsumer[personnel.records]] DefaultErrorHandler ERROR Failed delivery for exchangeId: ID-LON-CLI-WRK-164-3867-1329141595146-0-7. 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 


  was:
A request/reply invocation results in the following exception when JMSCorrelationID is set to empty String ("") on the inbound JMS message. 

{code}
[JmsConsumer[personnel.records]] DefaultErrorHandler ERROR Failed delivery for exchangeId: ID-LON-CLI-WRK-164-3867-1329141595146-0-7. 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 tested this against Trunk version 1239497 


    
> 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
>            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[personnel.records]] DefaultErrorHandler ERROR Failed delivery for exchangeId: ID-LON-CLI-WRK-164-3867-1329141595146-0-7. 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

        

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

Posted by "Pat Fox (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pat Fox updated CAMEL-5006:
---------------------------

    Attachment:     (was: JmsProducer.java.patch)
    
> 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
>            Priority: Minor
>
> 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

        

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

Posted by "Hadrian Zbarcea (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hadrian Zbarcea reassigned CAMEL-5006:
--------------------------------------

    Assignee: 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

        

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

Posted by "Hadrian Zbarcea (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hadrian Zbarcea resolved CAMEL-5006.
------------------------------------

    Resolution: Fixed

Nice spot, good patch. Thanks Pat for the contribution.
                
> 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
>             Fix For: 2.8.5, 2.9.1, 2.10.0
>
>         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

        

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

Posted by "Pat Fox (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pat Fox updated CAMEL-5006:
---------------------------

    Attachment: JmsProducer.java.patch


Perhaps this simple change in JmsProducer to might be a solution? 
                
> 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
>            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[personnel.records]] DefaultErrorHandler ERROR Failed delivery for exchangeId: ID-LON-CLI-WRK-164-3867-1329141595146-0-7. 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 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

        

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

Posted by "Pat Fox (Issue Comment Edited) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CAMEL-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13208002#comment-13208002 ] 

Pat Fox edited comment on CAMEL-5006 at 2/14/12 8:51 PM:
---------------------------------------------------------

I have made a simple change in JmsProducer.java.patch which appears to resolve the junit test. Perhaps someone more familiar with the JMSCorrelationID logic could see a better approach?
 
                
      was (Author: pgfox):
    
Perhaps this simple change in JmsProducer to might be a solution? 
                  
> 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
>            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[personnel.records]] DefaultErrorHandler ERROR Failed delivery for exchangeId: ID-LON-CLI-WRK-164-3867-1329141595146-0-7. 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 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

        

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

Posted by "Pat Fox (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pat Fox updated CAMEL-5006:
---------------------------

    Attachment: JmsRequestReplyCorrelationTest.java
                JmsProducer.java.patch

Thanks Hadrain, I have reattached and granted license.
                
> 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
>            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