Hi

I commit a fix for the NPE in camel-core, trunk: 1036382.

It would be nice if you could test that with your issue.


On Thu, Nov 18, 2010 at 10:04 AM, Claus Ibsen <[email protected]> wrote:
> On Thu, Nov 18, 2010 at 8:43 AM, Bengt Rodehav <[email protected]> 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 <[email protected]>
>>
>>> 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.defaultmanagementlifecyclestrat...@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: [email protected]
> Web: http://fusesource.com
> Twitter: davsclaus
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
>



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

Reply via email to