I've already seen this error, but it usually happen when there is a previous deployment problem. In this case, I'm not sure what happen exactly, but the problem should be gone with ServiceMix 3.3 already (because of some internal changes which got rid of xbean-kernel which is causing this issue). Could you grab a 3.3-SNAPSHOT distribution and see what it gives when you repeat the same steps ?
Another deployment option is to copy the SA to the deploy dir, and, to deploy a new version, just overwrite the file. On Thu, Jul 3, 2008 at 6:51 PM, aknapp <[EMAIL PROTECTED]> wrote: > > Using the latest version of servicemix: > Apache ServiceMix 3.2.1 in a Linux environment. > > I'm following the tutorial #3 ( > http://servicemix.apache.org/3-beginner-using-apache-camel-inside-servicemix.html > Beginner - Using Apache Camel inside ServiceMix ) step by step and was able > to successfully deploy the SA without any issues. > > tutorial-camel-sa]# mvn jbi:projectDeploy -DforceUpdate=true > > This is great and works! > > ServiceMixLog: > ---------------- > INFO - ComponentMBeanImpl - Starting component: servicemix-jms > INFO - ComponentMBeanImpl - Starting component: > servicemix-camel > > INFO - tutorial - Exchange[Message: Hello World!] > INFO - tutorial - Exchange[Message: Hello World!] > INFO - tutorial - Exchange[Message: Hello World!] > . > . > . > > > My problem occurs when I redploy this SA. I would like to think that in a > production environment, we can redoply SAs without stopping service mix. > Hence the '-DforceUpdate=true' variable. An exception is thrown stating that > 'A kernel is already registered with the name > servicemix-camel/tutorial-camel-su'. > Can someone please inform me of what I'm doing wrong or how to resolve this > issue? > > Any advice would be much appreciated. > > > Below is a trace of the service mix log after redeploying the SA again. > > tutorial-camel-sa]# mvn jbi:projectDeploy -DforceUpdate=true > > > ServiceMixLog on a Redeploy: > --------------------------- > > INFO - ServiceAssemblyLifeCycle - Stopping service assembly: > tutorial-sa > INFO - ServiceUnitLifeCycle - Stopping service unit: > tutorial-file-su > INFO - ServiceUnitLifeCycle - Stopping service unit: > tutorial-camel > INFO - ServiceUnitLifeCycle - Stopping service unit: tutorial-jms > INFO - ServiceAssemblyLifeCycle - Shutting down service assembly: > tutorial-sa > INFO - ServiceUnitLifeCycle - Shutting down service unit: > tutorial-file-su > INFO - ServiceUnitLifeCycle - Shutting down service unit: > tutorial-camel > INFO - ServiceUnitLifeCycle - Shutting down service unit: > tutorial-jms > INFO - JBIContainer - Deactivating component > servicemix-jms > INFO - EnvironmentContext - Removed directory structure for > component [version]: servicemix-jms [servicemix-jms] > INFO - ComponentMBeanImpl - Starting component: servicemix-jms > INFO - ComponentMBeanImpl - Initializing component: > servicemix-jms > INFO - ServiceAssemblyLifeCycle - Starting service assembly: > tutorial-sa > INFO - ServiceUnitLifeCycle - Initializing service unit: > tutorial-file-su > INFO - ServiceUnitLifeCycle - Initializing service unit: > tutorial-camel > INFO - ServiceUnitLifeCycle - Initializing service unit: > tutorial-jms > INFO - ServiceUnitLifeCycle - Starting service unit: > tutorial-file-su > INFO - ServiceUnitLifeCycle - Starting service unit: > tutorial-camel > INFO - StatisticsService - Unable to unregister endpoint > statistics MBean: null > INFO - JBIContainer - Deactivating component > servicemix-camel > INFO - EnvironmentContext - Removed directory structure for > component [version]: servicemix-camel [servicemix-camel] > INFO - ComponentMBeanImpl - Starting component: > servicemix-camel > INFO - ComponentMBeanImpl - Initializing component: > servicemix-camel > INFO - ServiceUnitLifeCycle - Starting service unit: tutorial-jms > INFO - DeploymentService - UnDeployed ServiceUnit > tutorial-camel-jms-su from Component: servicemix-jms > ERROR - AutoDeploymentService - Failed to update Service Assembly: > tutorial-camel-sa > 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>Unable to deploy service unit</loc-message> > </msg-loc-info> > </task-status-msg> > <exception-info> > <nesting-level>1</nesting-level> > <msg-loc-info> > <loc-token/> > <loc-message>A kernel is already > registered with the name servicemix-camel/tutorial-camel-su</loc-message> > > <stack-trace><![CDATA[org.apache.xbean.kernel.KernelAlreadyExistsException: > A kernel is already registered with the name > servicemix-camel/tutorial-camel-su > at > org.apache.xbean.kernel.KernelFactory.createKernel(KernelFactory.java:175) > at > org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:65) > at > org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:79) > 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.updateServiceAssembly(AutoDeploymentService.java:350) > at > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:253) > at > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateExternalArchive(AutoDeploymentService.java:201) > at > org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchive(JBIContainer.java:476) > at > org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchive(JBIContainer.java:486) > at > org.apache.servicemix.jbi.framework.AdminCommandsService.deployServiceAssembly(AdminCommandsService.java:209) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216) > at > org.apache.servicemix.jbi.management.BaseStandardMBean.invoke(BaseStandardMBean.java:323) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) > at > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1426) > at > javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1264) > at java.security.AccessController.doPrivileged(Native Method) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1366) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305) > at sun.rmi.transport.Transport$1.run(Transport.java:159) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:155) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > at java.lang.Thread.run(Thread.java:619) > ]]></stack-trace> > </msg-loc-info> > </exception-info> > </task-result-details> > </component-task-result-details> > </component-task-result> > <component-task-result > xmlns="http://java.sun.com/xml/ns/jbi/management-message"> > <component-name>servicemix-jms</component-name> > <component-task-result-details> > <task-result-details> > <task-id>deploy</task-id> > <task-result>SUCCESS</task-result> > </task-result-details> > </component-task-result-details> > </component-task-result> > </jbi-task-result> > </jbi-task> > > at > org.apache.servicemix.jbi.framework.ManagementSupport.failure(ManagementSupport.java:125) > at > org.apache.servicemix.jbi.framework.ManagementSupport.failure(ManagementSupport.java:111) > at > org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:543) > at > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:350) > at > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:253) > at > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateExternalArchive(AutoDeploymentService.java:201) > at > org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchive(JBIContainer.java:476) > at > org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchive(JBIContainer.java:486) > at > org.apache.servicemix.jbi.framework.AdminCommandsService.deployServiceAssembly(AdminCommandsService.java:209) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216) > at > org.apache.servicemix.jbi.management.BaseStandardMBean.invoke(BaseStandardMBean.java:323) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) > at > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1426) > at > javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1264) > at java.security.AccessController.doPrivileged(Native Method) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1366) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305) > at sun.rmi.transport.Transport$1.run(Transport.java:159) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:155) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > at java.lang.Thread.run(Thread.java:619) > > -- > View this message in context: > http://www.nabble.com/Tutorial--3---Camel---Redeploying-SA-Causes-%27kernel-already-registered%27-exception-tp18263771p18263771.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
