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

Remove callbacks aren't called for optional dependencies in a "circular" dependency scenario

    XMLWordPrintableJSON

Details

    Description

      In some cases, the whiteboard pattern remove callbacks aren't called by the depenency manager.

      See attached test class. Here some sort of "cyclic" dependency is made between 'Shop' -> 'Item' -> 'Shop'.

      See the log when starting and stopping a bundle with the attached Activator.java for an example.

      Some investigation pointed us to ComponentImpl line 1191:

      if (dc.isRequired()) {
      	invokeCallbackSafe(dc, EventType.REMOVED, e);
      }
      

      When removing the condition for the required dependency, the REMOVED callbacks are called!

      Why is the above condition written in the ComponentImpl.java? Can you please investigate this?

      Attachments

        1. Activator.java
          5 kB
          Dobias van Buuren

        Activity

          People

            pderop Pierre De Rop
            dobias Dobias van Buuren
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: