-
Bug
-
Resolution: Done
-
Critical
-
1.5.0.0-fuse
-
None
-
None
It seems that if a Camel SU contains a camel-mina endpoint, then it won't deploy into servicemix container. Below is a snippet of stack trace:
11:20:31,705 | ERROR | Timer-4 | AutoDeploymentService | ramework.AutoDeploymentService 486 | Failed to update Service Assembly: camel-sa-3.3.1.11-fuse.0.tmp java.lang.Exception: <?xml version="1.0" encoding="UTF-8"?> <jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message" version="1.0"> <jbi-task-result> <frmwk-task-result> <frmwk-task-result-details> <task-result-details> <task-id>deploy</task-id> <task-result>FAILED</task-result> <message-type>ERROR</message-type> </task-result-details> </frmwk-task-result-details> </frmwk-task-result> <component-task-result xmlns="http://java.sun.com/xml/ns/jbi/management-message"> <component-name>servicemix-camel</component-name> <component-task-result-details> <task-result-details> <task-id>deploy</task-id> <task-result>FAILED</task-result> <message-type>ERROR</message-type> <task-status-msg> <msg-loc-info> <loc-token/> <loc-message>Could not deploy xbean service unit</loc-message> </msg-loc-info> </task-status-msg> <exception-info> <nesting-level>1</nesting-level> <msg-loc-info> <loc-token/> <loc-message>java.lang.NoSuchFieldError: name</loc-message> <stack-trace><![CDATA[org.apache.xbean.kernel.ServiceRegistrationException: java.lang.NoSuchFieldError: name at org.apache.xbean.kernel.standard.ServiceManagerRegistry.registerService(ServiceManagerRegistry.java:424) at org.apache.xbean.kernel.standard.StandardKernel.registerService(StandardKernel.java:220) at org.apache.xbean.server.spring.loader.SpringLoader.load(SpringLoader.java:152) at org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:83) at org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:83) at org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88) at org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69) at org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:508) at org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingSAs(AutoDeploymentService.java:482) at org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingComponents(AutoDeploymentService.java:535) at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateSharedLibrary(AutoDeploymentService.java:317) at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:254) at org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:667) at org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:62) at org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:631) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) Caused by: java.lang.NoSuchFieldError: name at org.slf4j.impl.SimpleLogger.<init>(SimpleLogger.java:83) at org.slf4j.impl.SimpleLoggerFactory.getLogger(SimpleLoggerFactory.java:67) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:103) at org.apache.mina.util.NamePreservingRunnable.<init>(NamePreservingRunnable.java:32) at org.apache.mina.transport.socket.nio.SocketAcceptor.startupWorker(SocketAcceptor.java:165) at org.apache.mina.transport.socket.nio.SocketAcceptor.bind(SocketAcceptor.java:141) at org.apache.camel.component.mina.MinaConsumer.doStart(MinaConsumer.java:60) at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47) at org.apache.camel.impl.DefaultCamelContext.addService(DefaultCamelContext.java:421) at org.apache.camel.impl.DefaultCamelContext.startRoutes(DefaultCamelContext.java:659) at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:632) at org.apache.camel.spring.SpringCamelContext.maybeDoStart(SpringCamelContext.java:167) at org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:162) at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47) at org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:97) at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:116) at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:77) at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:75) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:246) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:617) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:355) at org.apache.xbean.server.spring.configuration.SpringConfiguration.<init>(SpringConfiguration.java:63) at org.apache.xbean.server.spring.configuration.SpringConfigurationServiceFactory.createService(SpringConfigurationServiceFactory.java:106) at org.apache.xbean.kernel.standard.ServiceManager.start(ServiceManager.java:420) at org.apache.xbean.kernel.standard.ServiceManager.initialize(ServiceManager.java:200) at org.apache.xbean.kernel.standard.RegistryFutureTask$RegisterCallable.call(RegistryFutureTask.java:110) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at org.apache.xbean.kernel.standard.ServiceManagerRegistry.registerService(ServiceManagerRegistry.java:409)
It looks like that the camel-mina component depends on both mina-core 1.1.7 (http://mina.apache.org/) and slf4j 1.5.5 (http://www.slf4j.org/) while the mina-core 1.1.7 itself depends on slf4j 1.4.3 however.
Please see attached test case and servicemix log file for more details.