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