[ https://issues.apache.org/jira/browse/FELIX-3030?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Clement Escoffier closed FELIX-3030. ------------------------------------ > Bind/Unbind and lifecycle > ------------------------- > > Key: FELIX-3030 > URL: https://issues.apache.org/jira/browse/FELIX-3030 > Project: Felix > Issue Type: Bug > Components: iPOJO > Affects Versions: iPOJO-1.8.0 > Reporter: Yann Diorcet > Assignee: Clement Escoffier > > According to my > post(http://old.nabble.com/iPojo-lifecycle-and-dependencies-p32003301.html). > It seems that there is a problem with the lifecycle and dependencies. > @Component > @Instantiate > public final class Abcd { > @Requires > private Efg efg; > @Validate > private void start() { > } > @Invalidate > private void stop() { > } > @Bind(aggregate = true, optional = true) > private void bindXyz(final Xyz service) { > } > @Unbind > private void unbindXyz(final Xyz service) { > } > } > Scenario 1: > -A new service(Efg1) provides Efg > -A new service(Xyz1) provides Xyz > -The component Abcd is instantiated > -The bind() is called with Xyz1 > -The start() of the component is called > -The Efg1 is unregistered > -The component is invalidated (Efg1 is gone) stop() is called > -During the time that my component is invalidated, if a new Xyz service(Xyz2) > is registred (from an another bundle for example) bindXyz() is called > -After that, if i stop my bundle, my component will be stopped but > unbindXyz() will be not called(neither for Xyz1 nor Xyz2). > Scenario 2: > -A new service(Efg1) provides Efg > -A new service(Xyz1) provides Xyz > -The component Abcd is instantiated > -The bind() is called with Xyz1 > -The start() of the component is called > -The Efg1 is unregistered > -The component is invalidated (Efg1 is gone) stop() is called > -A new service(Efg2) provides Efg > -The start() of the component is called > Why all the already existing services are bound at the creation of the > component and not unbound at the "destruction" of the component? > Another solution: Why don't bind the optional services at the validation of > the component and unbind them at the invalidation (like it seems to be done > with not optional service)? -- 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