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

Cherrypicking of propagated properties

    XMLWordPrintableJSON

Details

    Description

      Currently osgi.command.scope and osgi.command.function flood down from my @AdapterService because there is no propagation prevention mechanism as per @BundleAdapterService (also mentioned at FELIX-4594). This also applies @AspectService annotation.

      Still with these options the propagation from adapters/aspects is currently uncontrollable compared to dependencies where - albeit cumbersome - you still can write your own logic.

      My use case is with propagated adapter/aspect identity properties (such as service.pid, jmx.objectname, osgi.command.scope, osgi.command.function) that I'd rather not see automatically propagated.

      There is already a setPropagate(Object, String) method in ServiceDependency. I think this mechanism could also be available for annotations alongside the propagate boolean property. (Perhaps a String propagated() default "")

      I suggest that internal m_serviceProperties would be changed as map (since @Start annotation allows this already) and keys with null values would be considered non-propagable. Internal map would be converted to Dictionary each time in passes API/Impl boundary and at this point keys with null values would be dropped.

      Attachments

        Issue Links

          Activity

            People

              pderop Pierre De Rop
              tuomas_kiviaho Tuomas Kiviaho
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: