camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: Exception caught but not rethrown in DefaultCamelContext.doStartCamel()
Date Thu, 18 Nov 2010 09:04:26 GMT
On Thu, Nov 18, 2010 at 8:43 AM, Bengt Rodehav <bengt@rodehav.com> wrote:
> Anyone have an opinion about this? Shall I create a JIRA ticket?
>

This is on purpose as the host container may deny starting/using the
lifecycle strategy.
For example deny using JMX etc. And Camel will just fallback and
continue to book up without that strategy.

The NPE you are facing is obviously related to the complexity of the
OSGi platform. So yeah open a ticket and lets see if we can nail this
problem.





> /Benke
>
> 2010/11/17 Bengt Rodehav <bengt@rodehav.com>
>
>> I've encountered some problems regarding starting Camel. I use Camel 2.5.0.
>> I also use iPOJO in Karaf to create OSGi services. When my iPOJO instance
>> becomes valid, my callback method is started and I try to create a Camel
>> context and start it.
>>
>> However, even if I fail to start Camel, no exception is thrown which causes
>> me problems later on. When looking through the code it seems like an
>> exception is caught but not rethrown in DefaultCamelContext.doStartCamel()
>> on line 1270. Is this "as designed" or a bug? I would really like an
>> exception to be thrown at this point to allow me to know whether I succeeded
>> in starting the context or not.
>>
>> In my particular case, I have erroneously set the name of the camel context
>> to null.
>>
>> The exception I get is the following:
>>
>> 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
>>
>> /Bengt
>>
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Mime
View raw message