Hi Neil,

Thanks for the quick reply.

okay I see, I misinterpreted the specs then.

In my specific case, I need to make sure the static reference is there
*before* the dynamic ones. What is the best patterns to ensure that ? Do I
need to write synchonization code inside my component for that, or do you
know a cleaner way with declarative services ?

Thanks!

Nicolas









On Mon, Nov 28, 2016 at 12:13 PM, Neil Bartlett <njbartl...@gmail.com>
wrote:

>
> > On 28 Nov 2016, at 11:09, Nicolas Brasey <nicolas.bra...@gmail.com>
> wrote:
> >
> > Hi,
> >
> > I have a bind order issue with a component that has :
> >
> > 1) A static reference specified with annotation @Reference on the private
> > field
> > 2) A dynamic multiple reference specificed with annotation on a method
> >
> > The static reference is not bound before the dynamic ones.
>
>
> That is not required. Dynamic references can be bound, unbound or replaced
> at any time… even potentially *while* the static references are being
> bound, or while the activate is executing.
>
>
> >
> > The code looks like this:
> >
> > @Component(immediate = true)
> > public class MyServiceImpl implements MyService {
> >
> >    @Reference
> >    private AclService aclService;
> >
> >    @Reference(
> >            cardinality = ReferenceCardinality.MULTIPLE,
> >            policy = ReferencePolicy.DYNAMIC
> >    )
> >    public void add(StateMachine stateMachine) {
> >       ....
> >        ....
> >    }
> >
> >
> > According to the Declarative Service specifications, the static
> references
> > should always be injected before the activate method.
>
>
> That’s correct.
>
>
> >
> >
> > Does anyone have any idea what might be wrong ?
>
>
> It doesn’t sound like anything is going wrong.
>
> Regards,
> Neil
>
>
> >
> >
> > My env is Apache Karaf 4.0.5 with Felix SCR 2.0.2
> >
> >
> > Thanks for you help!
> >
> > Nicolas
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
> For additional commands, e-mail: users-h...@felix.apache.org
>
>

Reply via email to