Pierre De Rop created FELIX-5408:
------------------------------------
Summary: Parallel DM should not stop components asynchronously
Key: FELIX-5408
URL: https://issues.apache.org/jira/browse/FELIX-5408
Project: Felix
Issue Type: Improvement
Components: Dependency Manager
Affects Versions: org.apache.felix.dependencymanager-r1
Reporter: Pierre De Rop
Assignee: Pierre De Rop
Priority: Minor
When you configure dependency manager to handle components concurrently , using
a ComponentExecutorFactory, then when the bundle is stopped, the
component.stop() method is executed synchronously (because if not, the bundle
context may be unavailable since the bundle is stopping).
ok, if now the bundle is not stopping, but you programatically try to remove
the component , using the DependencyManager.remove(Component c) method, then if
concurrent mode is enabled, the component is stopped asynchronously in the
thread pool.
Whilst it's not a bug per se, it does not make sense to deactivate a component
asynchronously, because it is not easy to make sure when the component is
really stopped after you have called DependencyManager.remove(Component c)
method.
so, if parallel mode is enabled, then the DependencyManager.remove(Component)
method should trigger the component stop call synchronously like if there was
no thread pool.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)