camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bengt Rodehav (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CAMEL-3350) Camel context not started although the start() method succeeded
Date Mon, 22 Nov 2010 18:03:25 GMT

    [ https://issues.apache.org/activemq/browse/CAMEL-3350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=63443#action_63443
] 

Bengt Rodehav commented on CAMEL-3350:
--------------------------------------

Claus, I have now tested your fix in trunc. Yes, setting a name of null now causes an exception
to be thrown - in that respect it works.

However, I still need a safe way to know that I succeeded in starting the camel context. Now
that you eliminated this problem
(setting the name to null), does that mean that an exception will always be thrown if the
context could not be started? Or,
conversely, if a call to CamelContext.start() returns without throwing an exception, does
that mean that I managed to start the
context?

Also, it shouldn't be possible for the camel context to report that it is started while JMX
does not show the context and
when in fact it didn't succeed. To me it seems like this issue isn't really resolved yet -
unless setting the name to null was the only
thing that could possibly cause this situation.



> 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.


Mime
View raw message