Definetly use either Felix Dependency Manager (that's what I use on all
projects) or Declarative Services. DS is slightly simpler, DM is more
powerful. The main difference is that DM can also be used from code to
register/deregister components at any given time.
Both solutions will solve the problem you are describing, which is a very
common one :-)

Cheers,

Paul


On Thu, Jul 17, 2014 at 10:04 AM, Bulu <b...@romandie.com> wrote:

> Hi all
>
> I'm building an application on an embedded system which will contain ~20
> bundles.
>
> There are many dependencies of services - say for example to provide its
> service, module A (several classes) needs services B,C,D.
> In order to fully account for the dynamics of OSGi, I have to monitor
> B,C,D to stop A when any of these 3 goes away. This unregisters service A,
> which in turn will disrupt all clients of A.
> If additionally you want to handle part case (A should still provide a
> reduced service, if only B and C are available but not D) it gets messy
> rapidly.
>
> In the end, I realize that I am mostly writing life cycle code instead of
> business logic and I have lots of OSGi dependencies, with the BundleContect
> passed around nearly everywhere. This smells like bad design.
>
> Could you share insights or recommend reading on how to structure OSGi
> services for cohesion and modularity, to avoid the problems above?
> Are there ways to reduce the boiler plate?
> Should I be investigating declarative services, iPojo or others (in
> general I prefer writing code than XML...). As this is an embedded system,
> should I be worried about the performance impact of DS?
>
>
> Thanks for your insights
>   Philipp
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
> For additional commands, e-mail: users-h...@felix.apache.org
>
>

Reply via email to