Hi,

Working on upgarding legacy application from ActiveMQ to RabbitMQ. Tech stack 
consists of Spring (Spring OSGI migrated to Aries Blueprint as part of this 
upgrade), CXF, Camel, RabbitMQ; integration of RabbitMQ with Camel via RabbitMQ 
Component (http://camel.apache.org/rabbitmq.html), and few others, all embeded 
in Equinox OSGi container, with Jetty.

We had this resolved for about two weeks then suddenly this stopped working - 
i.e. deserialization of messages works with Strings / built-in types, however 
utilizing custom types (our classes) fails with ClassNotFoundException at 
`org.apache.camel.component.rabbitmq.RabbitMQMessageConverter.deserializeBody`. 
Full stack attached.

Your help with clues/pointers as to why RabbitMQ would not be able to see these 
classes - if bundles where they're contained export these packages as they were 
previously when this worked - is much appreciated.

Kind regards,
Michal Siemaszko
Exception: java.lang.ClassNotFoundException
Message: com.virtunomic.service.api.job.JobProcessorStatus
StackTrace:
        at 
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
 [na:na]
        at 
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) 
[na:na]
        at 
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) 
[na:na]
        at 
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
 [na:na]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358) [na:1.7.0_71]
        at java.lang.Class.forName0(Native Method)(Class.java) [na:1.7.0_71]
        at java.lang.Class.forName(Class.java:274) [na:1.7.0_71]
        at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:625) 
[na:1.7.0_71]
        at 
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612) 
[na:1.7.0_71]
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517) 
[na:1.7.0_71]
        at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771) 
[na:1.7.0_71]
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) 
[na:1.7.0_71]
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) 
[na:1.7.0_71]
        at java.util.ArrayList.readObject(ArrayList.java:771) [na:1.7.0_71]
        at sun.reflect.GeneratedMethodAccessor111.invoke(Unknown Source) [na:na]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 [na:1.7.0_71]
        at java.lang.reflect.Method.invoke(Method.java:606) [na:1.7.0_71]
        at 
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) 
[na:1.7.0_71]
        at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893) 
[na:1.7.0_71]
        at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) 
[na:1.7.0_71]
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) 
[na:1.7.0_71]
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) 
[na:1.7.0_71]
        at 
org.apache.camel.component.rabbitmq.RabbitMQMessageConverter.deserializeBody(RabbitMQMessageConverter.java:273)
 [org.apache.camel.camel-rabbitmq:2.17.3]
        at 
org.apache.camel.component.rabbitmq.RabbitMQMessageConverter.populateMessageBody(RabbitMQMessageConverter.java:262)
 [org.apache.camel.camel-rabbitmq:2.17.3]
        at 
org.apache.camel.component.rabbitmq.RabbitMQMessageConverter.populateRabbitExchange(RabbitMQMessageConverter.java:213)
 [org.apache.camel.camel-rabbitmq:2.17.3]
        at 
org.apache.camel.component.rabbitmq.RabbitMQEndpoint.createRabbitExchange(RabbitMQEndpoint.java:175)
 [org.apache.camel.camel-rabbitmq:2.17.3]
        at 
org.apache.camel.component.rabbitmq.RabbitConsumer.handleDelivery(RabbitConsumer.java:65)
 [org.apache.camel.camel-rabbitmq:2.17.3]
        at 
com.rabbitmq.client.impl.ConsumerDispatcher$5.run(ConsumerDispatcher.java:144) 
[com.rabbitmq.client:3.6.3]
        at 
com.rabbitmq.client.impl.ConsumerWorkService$WorkPoolRunnable.run(ConsumerWorkService.java:99)
 [com.rabbitmq.client:3.6.3]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_71]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_71]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_71]

Reply via email to