Your hints plus now looking into correct place of the OSGI spec bought me to
the solution which i was looking for (and it is different from the typical
CDI approach).

So ... for my scenario annotation should be actually attached to the setter
method (as I've found here
https://osgi.org/specification/osgi.cmpn/7.0.0/service.component.html#service.component-reference.element
-> sample about setLog).

Thanks for help. Here is sample for copy/paste.

    private final List<MyApi> implementations = new
CopyOnWriteArrayList<>();

    @Reference(service        = MyApi.class
               , cardinality  = ReferenceCardinality.MULTIPLE
               , policy       = ReferencePolicy.DYNAMIC
               , unbind       = "removeImpl"
               )
    private void setImpl(MyApi impl)    {
        System.out.println("---------------------------------------- +++++ =
" + instanceId + " + " + impl );
        implementations.add(impl); 
    }
    
    private void removeImpl(MyApi impl) {
        System.out.println("---------------------------------------- ----- =
" + instanceId + " - " + impl );
        implementations.remove(impl);
    }





--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html

Reply via email to