Hello Folks, I'm trying to test servicemix clustering by using a camel route with concurrency.
I have (2) servicemix instances setup on the same host in a cluster. The log entries on instance#2 show that the cluster seems to be handshaking OK, so I believe that the configuration is good. I'm using the cxf-camel-nmr example in an attempt to force the clustering behavior with a Camel route. What I want to do is deploy the same HelloWorld service on both instances, and observe that when HelloWord is busy on instance#1, that the HelloWorld on instance#2 is then executed. I deployed the example bundle on instance#2 with a disabled camel route with the HelloWorld service defined as an endpoint. On instance#1, I put a 5 second Thread.sleep() in HelloWorldImpl. On instance#1, a camel route is started when the bundle deploys: from("timer:myTimerEvent?fixedRate=true&period=1000") .beanRef("myTransform", "transform").multicast().parallelProcessing() .to(ExchangePattern.InOut,"nmr:HelloWorld", "nmr:HelloWorld") .beanRef("myTransform", "display"); I'm expecting the service on instance#2 to execute, but it does not and I get a ServiceUnavailableException. What am I doing wrong, or is there a another (better) way to do this? Thanks, Bret This is the exception .... Failed delivery for exchangeId: 3ae5c8e0-6fd4-4ea1-a385-c25007b0c500. Exhausted after delivery attempt: 1 caught: org.osgi.service.blueprint.container.ServiceUnavailableException: Service is unavailable org.osgi.service.blueprint.container.ServiceUnavailableException: Service is unavailable at org.apache.geronimo.blueprint.container.ReferenceListRecipe$ServiceDispatcher.call(ReferenceListRecipe.java:204) at org.apache.geronimo.blueprint.container.AbstractServiceReferenceRecipe$CgLibProxyFactory$1.loadObject(AbstractServiceReferenceRecipe.java:578) at org.apache.servicemix.jbi.cluster.engine.ClusterRegistration$$EnhancerByCGLIB$$7376a6fa.match(<generated>) at org.apache.servicemix.jbi.cluster.engine.ClusterEngine.exchangeSent(ClusterEngine.java:413) at org.apache.servicemix.nmr.core.ChannelImpl.dispatch(ChannelImpl.java:282) at org.apache.servicemix.nmr.core.ChannelImpl.sendSync(ChannelImpl.java:141) at org.apache.servicemix.nmr.core.ChannelImpl.sendSync(ChannelImpl.java:127) at org.apache.servicemix.camel.nmr.ServiceMixProducer.process(ServiceMixProducer.java:59) 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.DefaultChannel.process(DefaultChannel.java:228) 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.MulticastProcessor.doProcess(MulticastProcessor.java:268) at org.apache.camel.processor.MulticastProcessor.access$000(MulticastProcessor.java:60) at org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:195) at org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:189) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) -- View this message in context: http://old.nabble.com/Service-Unavailable-Exception-tp28722096p28722096.html Sent from the Camel - Users mailing list archive at Nabble.com.