Hi

I have implemented the fix in the codebase. You are welcome to test
with latest source code or wait for the Camel 2.3 release, which is
out in a couple of weeks.


On Thu, May 20, 2010 at 2:54 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:
> Hi
>
> I have created a ticket
> https://issues.apache.org/activemq/browse/CAMEL-2742
>
> You could most likely use a custom JMSBinding by setting it on the endpoint 
> uri
>
> to("mq:xxxx?binding=#myCustomBinding");
>
> And then myCustomBinding is the id of a bean in the registry to lookup
> as a JmsBinding type.
>
> Otherwise if you do not need the given property you can also provide a
> custom header filter strategy where you can skip this header.
> Or use a custom messageConverter when you can do all the mapping yourself.
>
>
> On Thu, May 20, 2010 at 2:26 PM, dlawson <david.law...@metastorm.com> wrote:
>>
>> To All:
>>
>>
>> I am experiencing a problem when routing a Camel message from ActiveMQ to
>> WebSphereMQ 7 using the JMSComponent. My Camel version is 2.2.0. As the
>> stack trace below indicates,
>>
>> the exception is thrown when the "JMS-IBM_Last_Msg_In_Group" header/property
>> in the Camel Message is being mapped to the JMS message property. The
>> underlying JMS Message
>>
>> expects the field to be of type Boolean but Camel is delivering it as a
>> String. In the Camel JMSBinding class, the getValidJMSHeaderValue method is
>> performing the following
>>
>> mapping:
>>
>>
>> 390      protected Object getValidJMSHeaderValue(String headerName, Object
>> headerValue) {
>> 391     if (headerValue instanceof String) {
>> 392     return headerValue;
>> 393     } else if (headerValue instanceof Number) {
>> 394     return headerValue;
>> 395     } else if (headerValue instanceof Character) {
>> 396     return headerValue;
>> 397     } else if (headerValue instanceof CharSequence) {
>> 398     return headerValue.toString();
>> 399     } else if (headerValue instanceof Boolean) {
>> 400     return headerValue.toString();
>> 401     } else if (headerValue instanceof Date) {
>> 402     return headerValue.toString();
>> 403     }
>> 404     return null;
>> 405     }
>>
>> Is there a way to specify a custom JMSBinding in this instance or do I have
>> to patch the code to get around this problem? Thanks,
>>
>> David
>>
>>
>>
>>
>> org.springframework.jms.MessageFormatException: JMSCC0051: The property
>> 'JMS_IBM_Last_Msg_In_Group' should be set using type 'java.lang.Boolean',
>> not 'java.lang.String'.;
>>
>> nested exception is com.ibm.msg.client.jms.DetailedMessageFormatException:
>> JMSCC0051: The property 'JMS_IBM_Last_Msg_In_Group' should be set using type
>> 'java.lang.Boolean',
>>
>> not 'java.lang.String'. JMS_IBM properties may only be set using a specific
>> variable type. Correct application code to use the required variable type
>> when setting this JMS_IBM
>>
>> property.
>>        at
>> org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:289)
>>        at
>> org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168)
>>        at 
>> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:474)
>>        at
>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:195)
>>        at 
>> org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:375)
>>        at
>> org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:320)
>>        at 
>> org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:150)
>>        at
>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)
>>        at
>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)
>>        at 
>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146)
>>        at
>> org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94)
>>        at 
>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82)
>>        at
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>        at
>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>>        at
>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>>        at
>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
>>        at
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>        at
>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
>>        at
>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
>>        at
>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>        at
>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>        at
>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
>>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
>>        at
>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:66)
>>        at
>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>        at
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>        at
>> org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:84)
>>        at
>> org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:543)
>>        at
>> org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:482)
>>        at
>> org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451)
>>        at
>> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
>>        at
>> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
>>        at
>> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
>>        at
>> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)
>>        at
>> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
>>        at java.lang.Thread.run(Thread.java:619)
>> Caused by: com.ibm.msg.client.jms.DetailedMessageFormatException: JMSCC0051:
>> The property 'JMS_IBM_Last_Msg_In_Group' should be set using type
>> 'java.lang.Boolean', not
>>
>> 'java.lang.String'. JMS_IBM properties may only be set using a specific
>> variable type. Correct application code to use the required variable type
>> when setting this JMS_IBM
>>
>> property.
>>        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
>> Method)
>>        at
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>>        at
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>        at
>> com.ibm.msg.client.commonservices.j2se.NLSServices.createException(NLSServices.java:313)
>>        at
>> com.ibm.msg.client.commonservices.nls.NLSServices.createException(NLSServices.java:390)
>>        at
>> com.ibm.msg.client.jms.internal.JmsErrorUtils.createException(JmsErrorUtils.java:104)
>>        at
>> com.ibm.msg.client.jms.internal.JmsMessageImpl.checkSettablePropertyName(JmsMessageImpl.java:1968)
>>        at
>> com.ibm.msg.client.jms.internal.JmsMessageImpl.setObjectProperty(JmsMessageImpl.java:1502)
>>        at com.ibm.jms.JMSMessage.setObjectProperty(JMSMessage.java:1421)
>>        at
>> org.apache.camel.component.jms.JmsBinding.appendJmsProperty(JmsBinding.java:336)
>>        at
>> org.apache.camel.component.jms.JmsBinding.appendJmsProperties(JmsBinding.java:300)
>>        at
>> org.apache.camel.component.jms.JmsBinding.makeJmsMessage(JmsBinding.java:278)
>>        at
>> org.apache.camel.component.jms.JmsProducer$2.createMessage(JmsProducer.java:316)
>>        at
>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:221)
>>        at
>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$100(JmsConfiguration.java:164)
>>        at
>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$3.doInJms(JmsConfiguration.java:198)
>>        at 
>> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:471)
>>        ... 33 more
>> DEBUG 19 May 2010 14:11:06,531 [DefaultErrorHandler:377] - This exchange is
>> not handled so its marked as failed: Exchange[JmsMessage:
>> ActiveMQTextMessage {commandId = 5,
>>
>> responseRequired = true, messageId =
>> ID:DLAWSON701-58897-1274292657513-0:17:1:1:1, originalDestination = null,
>> originalTransactionId = null, producerId = ID:DLAWSON701-58897-
>>
>> 1274292657513-0:17:1:1, destination = queue://NEXUS.FTS.DATA.JMSNODE1,
>> transactionId = null, expiration = 0, timestamp = 1274292665860, arrival =
>> 0, brokerInTime =
>>
>> 1274292665860, brokerOutTime = 1274292666034, correlationId = null, replyTo
>> = null, persistent = true, type = null, priority = 4, groupID =
>> 9TTY5M6LGOH7NSWA2LY2K29V,
>>
>> groupSequence = 15, targetConsumerId = null, compressed = false, userID =
>> null, content = null, marshalledProperties =
>> org.apache.activemq.util.byteseque...@4e32c8,
>>
>> dataStructure = null, redeliveryCounter = 0, size = 0, properties =
>> {seqnum=15, JMS_IBM_Last_Msg_In_Group=true}, readOnlyProperties = true,
>> readOnlyBody = true, droppable =
>>
>> false, text = }]
>> DEBUG 19 May 2010 14:11:06,532 [Pipeline:99] - Message exchange has failed
>> so breaking out of pipeline: Exchange[JmsMessage: ActiveMQTextMessage
>> {commandId = 5,
>>
>> responseRequired = true, messageId =
>> ID:DLAWSON701-58897-1274292657513-0:17:1:1:1, originalDestination = null,
>> originalTransactionId = null, producerId = ID:DLAWSON701-58897-
>>
>> 1274292657513-0:17:1:1, destination = queue://NEXUS.FTS.DATA.JMSNODE1,
>> transactionId = null, expiration = 0, timestamp = 1274292665860, arrival =
>> 0, brokerInTime =
>>
>> 1274292665860, brokerOutTime = 1274292666034, correlationId = null, replyTo
>> = null, persistent = true, type = null, priority = 4, groupID =
>> 9TTY5M6LGOH7NSWA2LY2K29V,
>>
>> groupSequence = 15, targetConsumerId = null, compressed = false, userID =
>> null, content = null, marshalledProperties =
>> org.apache.activemq.util.byteseque...@4e32c8,
>>
>> dataStructure = null, redeliveryCounter = 0, size = 0, properties =
>> {seqnum=15, JMS_IBM_Last_Msg_In_Group=true}, readOnlyProperties = true,
>> readOnlyBody = true, droppable =
>>
>> false, text = }] Exception: org.springframework.jms.MessageFormatException:
>> JMSCC0051: The property 'JMS_IBM_Last_Msg_In_Group' should be set using type
>> 'java.lang.Boolean',
>>
>> not 'java.lang.String'.; nested exception is
>> com.ibm.msg.client.jms.DetailedMessageFormatException: JMSCC0051: The
>> property 'JMS_IBM_Last_Msg_In_Group' should be set using
>>
>> type 'java.lang.Boolean', not 'java.lang.String'. JMS_IBM properties may
>> only be set using a specific variable type. Correct application code to use
>> the required variable type
>>
>> when setting this JMS_IBM property.
>> ERROR 19 May 2010 14:11:06,533 [EndpointMessageListener:248] - Caused by:
>> [org.apache.camel.RuntimeCamelException -
>> org.springframework.jms.MessageFormatException: JMSCC0051:
>>
>> The property 'JMS_IBM_Last_Msg_In_Group' should be set using type
>> 'java.lang.Boolean', not 'java.lang.String'.; nested exception is
>>
>> com.ibm.msg.client.jms.DetailedMessageFormatException: JMSCC0051: The
>> property 'JMS_IBM_Last_Msg_In_Group' should be set using type
>> 'java.lang.Boolean', not
>>
>> 'java.lang.String'. JMS_IBM properties may only be set using a specific
>> variable type. Correct application code to use the required variable type
>> when setting this JMS_IBM
>>
>> property.]
>> org.apache.camel.RuntimeCamelException:
>> org.springframework.jms.MessageFormatException: JMSCC0051: The property
>> 'JMS_IBM_Last_Msg_In_Group' should be set using type
>>
>> 'java.lang.Boolean', not 'java.lang.String'.; nested exception is
>> com.ibm.msg.client.jms.DetailedMessageFormatException: JMSCC0051: The
>> property 'JMS_IBM_Last_Msg_In_Group'
>>
>> should be set using type 'java.lang.Boolean', not 'java.lang.String'.
>> JMS_IBM properties may only be set using a specific variable type. Correct
>> application code to use the
>>
>> required variable type when setting this JMS_IBM property.
>>        at
>> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1055)
>>        at
>> org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:104)
>>        at
>> org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:543)
>>        at
>> org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:482)
>>        at
>> org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451)
>>        at
>> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
>>        at
>> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
>>        at
>> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
>>        at
>> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)
>>        at
>> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
>>        at java.lang.Thread.run(Thread.java:619)
>> Caused by: org.springframework.jms.MessageFormatException: JMSCC0051: The
>> property 'JMS_IBM_Last_Msg_In_Group' should be set using type
>> 'java.lang.Boolean', not
>>
>> 'java.lang.String'.; nested exception is
>> com.ibm.msg.client.jms.DetailedMessageFormatException: JMSCC0051: The
>> property 'JMS_IBM_Last_Msg_In_Group' should be set using type
>>
>> 'java.lang.Boolean', not 'java.lang.String'. JMS_IBM properties may only be
>> set using a specific variable type. Correct application code to use the
>> required variable type when
>>
>> setting this JMS_IBM property.
>>        at
>> org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:289)
>>        at
>> org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168)
>>        at 
>> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:474)
>>        at
>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:195)
>>        at 
>> org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:375)
>>        at
>> org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:320)
>>        at 
>> org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:150)
>>        at
>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)
>>        at
>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)
>>        at 
>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146)
>>        at
>> org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94)
>>        at 
>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82)
>>        at
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>        at
>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>>        at
>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>>        at
>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
>>        at
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>        at
>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
>>        at
>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
>>        at
>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>        at
>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>        at
>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
>>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
>>        at
>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:66)
>>        at
>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>        at
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>        at
>> org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:84)
>>        ... 9 more
>> Caused by: com.ibm.msg.client.jms.DetailedMessageFormatException: JMSCC0051:
>> The property 'JMS_IBM_Last_Msg_In_Group' should be set using type
>> 'java.lang.Boolean', not
>>
>> 'java.lang.String'. JMS_IBM properties may only be set using a specific
>> variable type. Correct application code to use the required variable type
>> when setting this JMS_IBM
>>
>> property.
>>        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
>> Method)
>>        at
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>>        at
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>        at
>> com.ibm.msg.client.commonservices.j2se.NLSServices.createException(NLSServices.java:313)
>>        at
>> com.ibm.msg.client.commonservices.nls.NLSServices.createException(NLSServices.java:390)
>>        at
>> com.ibm.msg.client.jms.internal.JmsErrorUtils.createException(JmsErrorUtils.java:104)
>>        at
>> com.ibm.msg.client.jms.internal.JmsMessageImpl.checkSettablePropertyName(JmsMessageImpl.java:1968)
>>        at
>> com.ibm.msg.client.jms.internal.JmsMessageImpl.setObjectProperty(JmsMessageImpl.java:1502)
>>        at com.ibm.jms.JMSMessage.setObjectProperty(JMSMessage.java:1421)
>>        at
>> org.apache.camel.component.jms.JmsBinding.appendJmsProperty(JmsBinding.java:336)
>>        at
>> org.apache.camel.component.jms.JmsBinding.appendJmsProperties(JmsBinding.java:300)
>>        at
>> org.apache.camel.component.jms.JmsBinding.makeJmsMessage(JmsBinding.java:278)
>>        at
>> org.apache.camel.component.jms.JmsProducer$2.createMessage(JmsProducer.java:316)
>>        at
>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:221)
>>        at
>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$100(JmsConfiguration.java:164)
>>        at
>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$3.doInJms(JmsConfiguration.java:198)
>>        at 
>> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:471)
>>        ... 33 more
>> WARN  19 May 2010 14:11:06,534 [DefaultMessageListenerContainer:646] -
>> Execution of JMS message listener failed
>> org.apache.camel.RuntimeCamelException:
>> org.springframework.jms.MessageFormatException: JMSCC0051: The property
>> 'JMS_IBM_Last_Msg_In_Group' should be set using type
>>
>> 'java.lang.Boolean', not 'java.lang.String'.; nested exception is
>> com.ibm.msg.client.jms.DetailedMessageFormatException: JMSCC0051: The
>> property 'JMS_IBM_Last_Msg_In_Group'
>>
>> should be set using type 'java.lang.Boolean', not 'java.lang.String'.
>> JMS_IBM properties may only be set using a specific variable type. Correct
>> application code to use the
>>
>> required variable type when setting this JMS_IBM property.
>>        at
>> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1055)
>>        at
>> org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:104)
>>        at
>> org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:543)
>>        at
>> org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:482)
>>        at
>> org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451)
>>        at
>> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
>>        at
>> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
>>        at
>> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
>>        at
>> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)
>>        at
>> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
>>        at java.lang.Thread.run(Thread.java:619)
>> Caused by: org.springframework.jms.MessageFormatException: JMSCC0051: The
>> property 'JMS_IBM_Last_Msg_In_Group' should be set using type
>> 'java.lang.Boolean', not
>>
>> 'java.lang.String'.; nested exception is
>> com.ibm.msg.client.jms.DetailedMessageFormatException: JMSCC0051: The
>> property 'JMS_IBM_Last_Msg_In_Group' should be set using type
>>
>> 'java.lang.Boolean', not 'java.lang.String'. JMS_IBM properties may only be
>> set using a specific variable type. Correct application code to use the
>> required variable type when
>>
>> setting this JMS_IBM property.
>>        at
>> org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:289)
>>        at
>> org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168)
>>        at 
>> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:474)
>>        at
>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:195)
>>        at 
>> org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:375)
>>        at
>> org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:320)
>>        at 
>> org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:150)
>>        at
>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)
>>        at
>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)
>>        at 
>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146)
>>        at
>> org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94)
>>        at 
>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82)
>>        at
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>        at
>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>>        at
>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>>        at
>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
>>        at
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>        at
>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
>>        at
>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
>>        at
>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>        at
>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>        at
>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
>>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
>>        at
>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:66)
>>        at
>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>        at
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>        at
>> org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:84)
>>        ... 9 more
>> Caused by: com.ibm.msg.client.jms.DetailedMessageFormatException: JMSCC0051:
>> The property 'JMS_IBM_Last_Msg_In_Group' should be set using type
>> 'java.lang.Boolean', not
>>
>> 'java.lang.String'. JMS_IBM properties may only be set using a specific
>> variable type. Correct application code to use the required variable type
>> when setting this JMS_IBM
>>
>> property.
>>        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
>> Method)
>>        at
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>>        at
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>        at
>> com.ibm.msg.client.commonservices.j2se.NLSServices.createException(NLSServices.java:313)
>>        at
>> com.ibm.msg.client.commonservices.nls.NLSServices.createException(NLSServices.java:390)
>>        at
>> com.ibm.msg.client.jms.internal.JmsErrorUtils.createException(JmsErrorUtils.java:104)
>>        at
>> com.ibm.msg.client.jms.internal.JmsMessageImpl.checkSettablePropertyName(JmsMessageImpl.java:1968)
>>        at
>> com.ibm.msg.client.jms.internal.JmsMessageImpl.setObjectProperty(JmsMessageImpl.java:1502)
>>        at com.ibm.jms.JMSMessage.setObjectProperty(JMSMessage.java:1421)
>>        at
>> org.apache.camel.component.jms.JmsBinding.appendJmsProperty(JmsBinding.java:336)
>>        at
>> org.apache.camel.component.jms.JmsBinding.appendJmsProperties(JmsBinding.java:300)
>>        at
>> org.apache.camel.component.jms.JmsBinding.makeJmsMessage(JmsBinding.java:278)
>>        at
>> org.apache.camel.component.jms.JmsProducer$2.createMessage(JmsProducer.java:316)
>>        at
>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:221)
>>        at
>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$100(JmsConfiguration.java:164)
>>        at
>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$3.doInJms(JmsConfiguration.java:198)
>>        at 
>> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:471)
>>
>> --
>> View this message in context: 
>> http://old.nabble.com/jmsbinding-problem-tp28620489p28620489.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to