You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2010/11/22 13:53:28 UTC

[jira] Resolved: (CAMEL-3350) Camel context not started although the start() method succeeded

     [ https://issues.apache.org/activemq/browse/CAMEL-3350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved CAMEL-3350.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 2.6.0

trunk: 1037696.

Camel now fails fast instead of WARN logging. 

> Camel context not started although the start() method succeeded
> ---------------------------------------------------------------
>
>                 Key: CAMEL-3350
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3350
>             Project: Apache Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 2.5.0
>            Reporter: Bengt Rodehav
>            Assignee: Claus Ibsen
>             Fix For: 2.6.0
>
>
> I accidentally set the name of the context to null. and got the exception below:
> \\
> \\
> {code}
> 2010-11-17 11:32:34,456 | WARN  | guration Updater | DefaultCamelContext              | e.camel.impl.DefaultCamelContext 1278 | Cannot start lifecycle strategy: org.apache.camel.management.DefaultManagementLifecycleStrategy@1060ee9. This strategy will be removed. Cause: java.lang.NullPointerException
> org.apache.camel.RuntimeCamelException: java.lang.NullPointerException
> 	at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1140)
> 	at org.apache.camel.management.DefaultManagementLifecycleStrategy.onContextStart(DefaultManagementLifecycleStrategy.java:161)
> 	at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1270)
> 	at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1213)
> 	at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
> 	at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
> 	at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1191)
> 	at se.digia.connect.core.service.RouteServiceBase.doStart(RouteServiceBase.java:51)
> 	at se.digia.connect.core.service.ServiceBase.start(ServiceBase.java:50)
> 	at se.digia.connect.services.skandia.filetransfer.FileTransferService.__start(FileTransferService.java:63)
> 	at se.digia.connect.services.skandia.filetransfer.FileTransferService.start(FileTransferService.java)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_07]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_07]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_07]
> 	at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_07]
> 	at org.apache.felix.ipojo.util.Callback.call(Callback.java:237)[77:org.apache.felix.ipojo:1.7.0.SNAPSHOT]
> 	at org.apache.felix.ipojo.util.Callback.call(Callback.java:193)[77:org.apache.felix.ipojo:1.7.0.SNAPSHOT]
> 	at org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallback.call(LifecycleCallback.java:86)[77:org.apache.felix.ipojo:1.7.0.SNAPSHOT]
> 	at org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallbackHandler.__stateChanged(LifecycleCallbackHandler.java:162)[77:org.apache.felix.ipojo:1.7.0.SNAPSHOT]
> 	at org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallbackHandler.stateChanged(LifecycleCallbackHandler.java)[77:org.apache.felix.ipojo:1.7.0.SNAPSHOT]
> 	at org.apache.felix.ipojo.InstanceManager.setState(InstanceManager.java:441)[77:org.apache.felix.ipojo:1.7.0.SNAPSHOT]
> 	at org.apache.felix.ipojo.InstanceManager.start(InstanceManager.java:322)[77:org.apache.felix.ipojo:1.7.0.SNAPSHOT]
> 	at org.apache.felix.ipojo.InstanceManager.reconfigure(InstanceManager.java:1169)[77:org.apache.felix.ipojo:1.7.0.SNAPSHOT]
> 	at org.apache.felix.ipojo.IPojoFactory.reconfigure(IPojoFactory.java:481)[77:org.apache.felix.ipojo:1.7.0.SNAPSHOT]
> 	at org.apache.felix.ipojo.IPojoFactory.updated(IPojoFactory.java:648)[77:org.apache.felix.ipojo:1.7.0.SNAPSHOT]
> 	at org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1460)[5:org.apache.felix.configadmin:1.2.4]
> 	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:88)[5:org.apache.felix.configadmin:1.2.4]
> Caused by: java.lang.NullPointerException
> 	at javax.management.ObjectName.quote(ObjectName.java:1846)[:1.6.0_07]
> 	at org.apache.camel.management.DefaultManagementNamingStrategy.getObjectNameForCamelContext(DefaultManagementNamingStrategy.java:95)
> 	at org.apache.camel.management.DefaultManagementLifecycleStrategy.onContextStart(DefaultManagementLifecycleStrategy.java:128)
> 	... 25 more
> {code}
> \\
> The above exception was however caught and not rethrown which fooled me to believe that the context was successfully started while it in fact wasn't.
> Immediately after the call to the context's start() method I check if the context is started using the getStatus() method. It is then reported as started despite the fact that it failed (due to the exception above).
> I then started jconsole to see via JMX if the context is considered to be started but it's not. Sounds a lot like a bug to me. There should be a safe (and simple) way to find out (after having attempted to start the context) whether the context was successfully started or not.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.