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]