[ https://issues.apache.org/jira/browse/FELIX-5198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15167251#comment-15167251 ]
Richard S. Hall edited comment on FELIX-5198 at 2/25/16 2:36 PM: ----------------------------------------------------------------- I won't say I remember all of the specifics, but there are issues around this. I think at one time we did implement it so that a service became unavailable as soon as unregistering started, but we received a lot of blow back from people who wanted to do something with the service to say goodbye. The compromise we came up with was [I think] to only allow people who already had services references to be able to get a service, but to not allow any new lookups once unregistration started. was (Author: rickhall): I won't say I remember all of the specifics, but there are issues around this. I think at one time we did implement it so that a service became unavailable as soon as unregistering started, but we received a lot of blow back from people who wanted to do something with the service to say goodbye. The compromise we came up with was [I think] to only allow people who already had services references to be able to get a service, but to now allow any new lookups once unregistration started. > Service should not be available while being unregistered > -------------------------------------------------------- > > Key: FELIX-5198 > URL: https://issues.apache.org/jira/browse/FELIX-5198 > Project: Felix > Issue Type: Bug > Components: Framework > Affects Versions: framework-5.4.0 > Reporter: Carsten Ziegeler > Assignee: David Bosschaert > Fix For: framework-5.6.0 > > > Currently it is possible to get a service while it is being unregistered - > if the service is get during processing of the unregistering event. This is > the order of events: > a) a service (factory) is unregistered in the framework > b) the UNREGISTERING event is sent before the service is actually > unregistered (this is as defined in the spec) > c) the above event is handled synchronously, reactivating dependent components > d) during this reactivation, some component looks up the service that is > unregistered in a). as this service is still registered and marked as valid, > it gets it > According to ServiceRegistration.unregister the service should not be > available anymore while the events are sent -- This message was sent by Atlassian JIRA (v6.3.4#6332)