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

If a static/mandatory reference to a service is unregistered, the component should be deactivated synchronously instead of asynchronously

    XMLWordPrintableJSON

Details

    Description

      In the specification cmpn 112.3.3 Reference Policy, it says "Component configurations are deactivated before any bound service for a reference having a static policy becomes unavailable."

      My understanding is the deactivate method of the component must be called before any unbind method for a static/mandatory reference is called. And it's reasonable for a static/mandatory reference to be still available in the deactivate method.

      If the component is deactivated asynchronously when a static/mandatory reference to a service is unregistered, then it's possible that the unbind method is called before the deactivate method is called, which makes the service unavailable in the deactivate method.

      This bug may relate to FELIX-1178.

      The fix for this bug should also fix FELIX-1178. No need to add a new flag.

      Attachments

        1. AbstractComponentManager.java
          26 kB
          Agemo Cui
        2. ComponentFactoryImpl.java
          8 kB
          Agemo Cui
        3. AbstractComponentManager.java
          26 kB
          Agemo Cui
        4. scr-changes on revision 778604.zip
          31 kB
          Agemo Cui

        Activity

          People

            fmeschbe Felix Meschberger
            agemocui Agemo Cui
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: