Did you put the Student.class into the class path of camel context? -- Willem Jiang
Red Hat, Inc. Web: http://www.redhat.com Blog: http://willemjiang.blogspot.com(http://willemjiang.blogspot.com/) (English) http://jnn.iteye.com(http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: 姜宁willem On January 16, 2014 at 2:06:05 PM, contactreji (contactr...@gmail.com) wrote: > > Hi > I am trying to move contents of one queue to another queue. > > The source queue contains Java object. > > My came route is as follows > * > > > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:amq="http://activemq.apache.org/schema/core" > xsi:schemaLocation=" > http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans.xsd > http://camel.apache.org/schema/spring > http://camel.apache.org/schema/spring/camel-spring.xsd > http://activemq.apache.org/schema/core > http://activemq.apache.org/schema/core/activemq-core.xsd"> > > > > class="org.apache.activemq.camel.component.ActiveMQComponent"> > > /> > > > > > > > > > > > > > * > > > It OBJECT.QUEUE1 contains an object of class Student. > > > * > Student.java Class > ------------- > > package com.queueshifter.camel.activemq.queueshifter; > > import java.io.Serializable; > > import javax.xml.bind.annotation.XmlAccessorType; > import javax.xml.bind.annotation.XmlAttribute; > import javax.xml.bind.annotation.XmlElement; > import javax.xml.bind.annotation.XmlRootElement; > > > @XmlAccessorType > @XmlRootElement > public class Student implements Serializable{ > > //@XmlElement > String name; > > //@XmlElement > int rollNo; > public String getName() { > return name; > } > public void setName(String name) { > this.name = name; > } > public int getRollNo() { > return rollNo; > } > public void setRollNo(int rollNo) { > this.rollNo = rollNo; > } > > } > > * > > > I get following error while running the routes. > > Any ideas will be very helpful > > Cheers > Reji > > > * > [0 - JmsConsumer[OBJECT.QUEUE2]] EndpointMessageListener > WARN > Execution of JMS message listener failed. Caused by: > [org.apache.camel.RuntimeCamelException - Failed to extract > body due to: > javax.jms.JMSException: Failed to build body from content. > Serializable > class not available to broker. Reason: java.lang.ClassNotFoundException: > com.poc.camel.jaxb.Student. Message: ActiveMQObjectMessage > {commandId = 7, > responseRequired = true, messageId = > ID:D-113043114-56208-1389845707678-3:1:1:1:3, originalDestination > = > queue://OBJECT.QUEUE, originalTransactionId = null, producerId > = > ID:D-113043114-56208-1389845707678-3:1:1:1, destination > = > queue://OBJECT.QUEUE2, transactionId = null, expiration > = 0, timestamp = > 1389845710753, arrival = 0, brokerInTime = 1389851883384, > brokerOutTime = > 1389851883384, correlationId = null, replyTo = null, persistent > = true, type > = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId > = > null, compressed = false, userID = null, content = > org.apache.activemq.util.ByteSequence@12cd7ba, marshalledProperties > = > org.apache.activemq.util.ByteSequence@106fe2b, dataStructure > = null, > redeliveryCounter = 0, size = 0, properties = {firedTime=Thu > Jan 16 09:45:09 > IST 2014, breadcrumbId=ID-D-113043114-56207-1389845706616-0-1, > CamelJmsDeliveryMode=2}, readOnlyProperties = true, readOnlyBody > = true, > droppable = false}] > org.apache.camel.RuntimeCamelException: Failed to extract > body due to: > javax.jms.JMSException: Failed to build body from content. > Serializable > class not available to broker. Reason: java.lang.ClassNotFoundException: > com.poc.camel.jaxb.Student. Message: ActiveMQObjectMessage > {commandId = 7, > responseRequired = true, messageId = > ID:D-113043114-56208-1389845707678-3:1:1:1:3, originalDestination > = > queue://OBJECT.QUEUE, originalTransactionId = null, producerId > = > ID:D-113043114-56208-1389845707678-3:1:1:1, destination > = > queue://OBJECT.QUEUE2, transactionId = null, expiration > = 0, timestamp = > 1389845710753, arrival = 0, brokerInTime = 1389851883384, > brokerOutTime = > 1389851883384, correlationId = null, replyTo = null, persistent > = true, type > = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId > = > null, compressed = false, userID = null, content = > org.apache.activemq.util.ByteSequence@12cd7ba, marshalledProperties > = > org.apache.activemq.util.ByteSequence@106fe2b, dataStructure > = null, > redeliveryCounter = 0, size = 0, properties = {firedTime=Thu > Jan 16 09:45:09 > IST 2014, breadcrumbId=ID-D-113043114-56207-1389845706616-0-1, > CamelJmsDeliveryMode=2}, readOnlyProperties = true, readOnlyBody > = true, > droppable = false} > at > org.apache.camel.component.jms.JmsBinding.extractBodyFromJms(JmsBinding.java:150)[camel-jms-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.apache.camel.component.jms.JmsMessage.createBody(JmsMessage.java:214)[camel-jms-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:41)[camel-core-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.apache.camel.impl.DefaultUnitOfWork.(DefaultUnitOfWork.java:88)[camel-core-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.apache.camel.impl.DefaultUnitOfWork.(DefaultUnitOfWork.java:71)[camel-core-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.apache.camel.processor.UnitOfWorkProcessor.createUnitOfWork(UnitOfWorkProcessor.java:190)[camel-core-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:102)[camel-core-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48)[camel-core-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[camel-core-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[camel-core-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)[camel-core-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[camel-core-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86)[camel-core-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:104)[camel-jms-2.10.0.fuse-71-047.jar:2.10.0.fuse-71-047] > > at > org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] > > at > org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] > > at > org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] > > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] > > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] > > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] > > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] > > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] > > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown > Source)[:1.7.0_45] > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown > Source)[:1.7.0_45] > at java.lang.Thread.run(Unknown Source)[:1.7.0_45] > * > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/Moving-Objects-between-Active-MQ-queues-using-Camel-Routes-tp5746020.html > > Sent from the Camel - Users mailing list archive at Nabble.com. >