Hi,

I currently have the following usecase:

Service A depends on Service B
Service B depends on 4x Service C
Service A may only become active when Service B has exactly 4x Service C, thus becoming active itself.

I'm using declarative services which only support 0-*, 1-*, 0-1 and exactly 1 dependencies between services.

One idea I came up with, was to count the C services in B's setC(C c) method and, on reaching the count of 4, setting a specific property on B (e.g. weirdUsecaseIsActive = true) and let A's reference to B filter with a corresponding target filter.

I know this sound like a dirty hack, but I did not found any better solutions.

Therefore, my questions are:
1) Is there a better solution for my usecase?
2) If not: How do I update properties of a service at runtime?

Kind regards,
Thomas
_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to