You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "David Bosschaert (JIRA)" <ji...@apache.org> on 2016/02/25 18:46:18 UTC

[jira] [Resolved] (FELIX-5198) Service should not be available while being unregistered

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

David Bosschaert resolved FELIX-5198.
-------------------------------------
    Resolution: Invalid

After further consultation with OSGi CPEG, it became clear to me that the current Felix behaviour is the correct one. 

Specifically, section 5.6.1 of the core spec states:

bq. UNREGISTERING - A service object is in the process of being unregistered. This event is synchronously delivered before the service object has completed unregistering. That is, during the delivery of this event, the service object is still valid. The bundle receiving this event must release all references to this service before this method returns.

So I'm afraid I have to close this issue as being invalid. Please reopen if anyone disagrees.

> 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
>
>         Attachments: felix-5198.patch
>
>
> 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)