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

Guillaume Sauthier updated FELIX-4154:
--------------------------------------

    Assignee: Guillaume Sauthier
    
> InstanceManager.setState() method should throws exception in case of failure
> ----------------------------------------------------------------------------
>
>                 Key: FELIX-4154
>                 URL: https://issues.apache.org/jira/browse/FELIX-4154
>             Project: Felix
>          Issue Type: Bug
>          Components: iPOJO
>    Affects Versions: ipojo-runtime-1.10.1
>            Reporter: Mohammed Boukada
>            Assignee: Guillaume Sauthier
>
> In my use case, I create an instance of a component using 
> factory.createComponentInstance(props). If an error occurs in setState() 
> method, it is managed internally and does not return anything to the caller. 
> Code :
>  try {
>                     for (int i = 0; i < m_handlers.length; i++) {
>                         m_handlers[i].getHandler().stateChanged(state);
>                     }
>                 } catch (IllegalStateException e) {
>                     // When an illegal state exception happens, the instance 
> manager must be stopped immediately.
>                     stop();
>                     m_logger.log(Logger.ERROR, e.getMessage(), e);
>                     return;
>                 }
> Exception stack trace :
> java.lang.reflect.InvocationTargetException
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:601)
>       at org.apache.felix.ipojo.util.Callback.call(Callback.java:237)
>       at org.apache.felix.ipojo.util.Callback.call(Callback.java:193)
>       at 
> org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallback.call(LifecycleCallback.java:86)
>       at 
> org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallbackHandler.__M_stateChanged(LifecycleCallbackHandler.java:162)
>       at 
> org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallbackHandler.stateChanged(LifecycleCallbackHandler.java)
>       at 
> org.apache.felix.ipojo.InstanceManager.setState(InstanceManager.java:536)
>       at 
> org.apache.felix.ipojo.InstanceManager.start(InstanceManager.java:418)
>       at 
> org.apache.felix.ipojo.ComponentFactory.createInstance(ComponentFactory.java:178)
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:309)
>       at 
> org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:236)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to