felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pierre De Rop (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FELIX-5408) Parallel DM should not stop components asynchronously
Date Thu, 10 Nov 2016 23:17:58 GMT
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

View raw message