Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
scr-1.0.8
-
None
Description
When a component is to be disposed off, the following tasks run:
- unregister the service (if registered)
- call deactivate method (if any)
- unbind references
In the current implementation the service unregistration throws an IllegalStateException if the service cannot be unregistered because the registration lock is being held by a nother thread. This exception is forwarded to the caller causing neither the deactivate method being called nor the reference being unbound.
Rather we should continue with the controlled deactivation (and maybe even try to unregister again).