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.

Reply via email to