Hi I am trying to integrate Camel with Kafka. I have implemented following route.
*<bean id="publisherPoint" class="org.vaida.esb.camel.orderdispatcher.OrderDispatcher.PublisherPoint"> <property name="topicId" value="feedAlpha"/> <property name="props"> <props> <prop key="serializer.class">kafka.serializer.StringEncoder</prop> <prop key="partitioner.class">org.vaida.esb.camel.orderdispatcher.OrderDispatcher.SimplePartitioner</prop> <prop key="metadata.broker.list">localhost:9093,localhost:9094</prop> </props> </property> <property name="reqMessage" value="RAONE"/> </bean> <camelContext xmlns="http://camel.apache.org/schema/spring <http://camel.apache.org/schema/spring>"> <route id="kafka-1"> <from uri="timer:foo?period=5000"/> <camel:setBody> <camel:simple>RAJA</camel:simple> </camel:setBody> <to uri="bean:publisherPoint?method=publishAction"/> </route> </camelContext>* When I tested this with *camel:run*, I am able publish the message to kafka cluster. But When I have bundled and deployed to ServiceMix OSGi container I am getting following issue. *2014-02-26 17:00:17,190 | ERROR | #0 - timer://foo | DefaultErrorHandler | 100 - org.apache.camel.camel-core - 2.10.7 | Failed delivery for (MessageId: ID-VVVVV-d-40084-1393430384926-0-11 on ExchangeId: ID-VVVVV-d-40084-1393430384926-0-12). Exhausted after delivery attempt: 1 caught: org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[Message: RAJA]* *org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[Message: RAJA] at org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1344)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.impl.DefaultExchange.setException(DefaultExchange.java:282)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:224)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:166)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:67)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:101)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:71)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:122)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:298)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:117)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:335)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:46)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:308)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.Pipeline.process(Pipeline.java:117)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:46)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:135)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:63)[100:org.apache.camel.camel-core:2.10.7] at java.util.TimerThread.mainLoop(Timer.java:555)[:1.7.0_51] at java.util.TimerThread.run(Timer.java:505)[:1.7.0_51]Caused by: java.lang.NoClassDefFoundError: scala/collection/immutable/StringLike at org.vaida.esb.camel.orderdispatcher.OrderDispatcher.PublisherPoint.publishAction(PublisherPoint.java:56)[238:OrderDispatcher:0.0.1.SNAPSHOT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_51] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_51] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_51] at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_51] at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:362) at org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:249)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:222)[100:org.apache.camel.camel-core:2.10.7] ... 43 moreCaused by: java.lang.ClassNotFoundException: scala.collection.immutable.StringLike not found by org.apache.kafka [216] at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:812) at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:72) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1807) at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_51] ... 51 more2014-02-26 17:00:17,204 | WARN | #0 - timer://foo | TimerConsumer | 100 - org.apache.camel.camel-core - 2.10.7 | Error processing exchange. Exchange[Message: RAJA]. Caused by: [org.apache.camel.CamelExecutionException - Exception occurred during execution on the exchange: Exchange[Message: RAJA]]org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[Message: RAJA] at org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1344)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.impl.DefaultExchange.setException(DefaultExchange.java:282)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:224)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:166)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:67)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:101)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:71)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:122)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:298)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:117)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:335)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:46)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:308)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.Pipeline.process(Pipeline.java:117)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:46)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:135)[100:org.apache.camel.camel-core:2.10.7] at org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:63)[100:org.apache.camel.camel-core:2.10.7] at java.util.TimerThread.mainLoop(Timer.java:555)[:1.7.0_51] at java.util.TimerThread.run(Timer.java:505)[:1.7.0_51]Caused by: java.lang.NoClassDefFoundError: scala/collection/immutable/StringLike at org.vaida.esb.camel.orderdispatcher.OrderDispatcher.PublisherPoint.publishAction(PublisherPoint.java:56)[238:OrderDispatcher:0.0.1.SNAPSHOT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_51] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_51] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_51] at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_51] at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:362) at org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:249) at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:222) ... 43 moreCaused by: java.lang.ClassNotFoundException: scala.collection.immutable.StringLike not found by org.apache.kafka [216] at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:812) at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:72) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1807) at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_51] ... 51 more* I suspected that this could be a scala version mismatch issue But using the same version of scala didn't fix it. -- Thanks...