[
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