Can't set the jms message header which has the Data object in JMS Component
---------------------------------------------------------------------------
Key: CAMEL-942
URL: https://issues.apache.org/activemq/browse/CAMEL-942
Project: Apache Camel
Issue Type: Bug
Components: camel-jms
Affects Versions: 1.4.0
Reporter: Willem Jiang
Assignee: Willem Jiang
Fix For: 1.5.0
When I came across to fix the FileRouteToJMSTest failure, I found the
JMSComponent can't handle the message header with the Data object rightly.
org.springframework.jms.MessageFormatException: Only objectified primitive
objects, String, Map and List types are allowed but was: Sun Sep 28 09:52:36
CST 2008 type: class java.util.Date; nested exception is
javax.jms.MessageFormatException: Only objectified primitive objects, String,
Map and List types are allowed but was: Sun Sep 28 09:52:36 CST 2008 type:
class java.util.Date
at
org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:273)
at
org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168)
at
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:474)
at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:548)
at
org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:227)
at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:174)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:96)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
at
org.apache.camel.component.file.FileConsumer.pollFile(FileConsumer.java:153)
at
org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:89)
at
org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:99)
at
org.apache.camel.component.file.FileConsumer.poll(FileConsumer.java:65)
at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:66)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:280)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:135)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:65)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:142)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:166)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: javax.jms.MessageFormatException: Only objectified primitive
objects, String, Map and List types are allowed but was: Sun Sep 28 09:52:36
CST 2008 type: class java.util.Date
at
org.apache.activemq.command.ActiveMQMessage.checkValidObject(ActiveMQMessage.java:432)
at
org.apache.activemq.command.ActiveMQMessage.setObjectProperty(ActiveMQMessage.java:397)
at
org.apache.activemq.command.ActiveMQMessage.setObjectProperty(ActiveMQMessage.java:385)
at
org.apache.activemq.command.ActiveMQBytesMessage.setObjectProperty(ActiveMQBytesMessage.java:844)
at
org.apache.camel.component.jms.JmsBinding.appendJmsProperty(JmsBinding.java:254)
at
org.apache.camel.component.jms.JmsBinding.appendJmsProperties(JmsBinding.java:220)
at
org.apache.camel.component.jms.JmsBinding.makeJmsMessage(JmsBinding.java:198)
at
org.apache.camel.component.jms.JmsProducer$2.createMessage(JmsProducer.java:229)
at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:570)
at
org.springframework.jms.core.JmsTemplate$4.doInJms(JmsTemplate.java:551)
at
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:471)
... 23 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.