Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-5408

Parallel DM should not stop components asynchronously

    XMLWordPrintableJSON

Details

    Description

      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.

      Attachments

        Activity

          People

            pderop Pierre De Rop
            pderop Pierre De Rop
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: