Richard S. Hall wrote:
OBR does not really support run-time dependency resolution. I would be fairly easy to create resources at run time that you could ask OBR to resolve, but that is not really the hard part.

Should say, "It would be fairly easy..."


OBR is not really geared toward run-time service dependency resolution, since it is hard to know which to choose. Typically you'd want to make a selection based on some non-functional characteristics. But even if you just want it based on service interface type, OBR doesn't really have a way to know how it should treat optional service dependencies (e.g., should they always be resolved if possible?) or aggregate service dependencies (e.g., should it all available or some subset?).

Should say, "(e.g., should it get all available...)"

Tired, I guess.

-> richard


Only simple policies are possible in these cases. Coming up with a "best fit" policy is difficult, unless we have some way of describing what a "best fit" is.

I think this is an interesting area, but it needs more exploration.

-> richard

Krishanu wrote:
I have 4 bundles. B2 has interface I1. B3 and B4 provide different
implementations of I1. So both B3 and B4 depends on B2. B1 uses I1 interface
and hence also depends on B2.
So for B1 to work properly; B1, B2 and either or both of B3 and B4 needs to be in OSGi runtime. When we use OBR service and deploy B1, its compile time
dependency: B2 gets installed in runtime, automatically. This is because
these dependencies are represented in the repository.xml file. However, what
about the runtime dependencies of B1?

Is there a way to depoly B1 so that the best fit among B3 and B4 will
automatically get installed in runtime. Or do the developer has to
independently deploy either B3 or B4 or both along with B1. What is the best
practice?

Note: I understand that if both B1 and B2 are in runtime, OSGi knows how to
choose the proper one using constraints(if at all required). I also
understand, that if B1 has B3 or B4 as its required bundle, it will resolve the dependency, but then the whole purpose of making the impl dynamically
available is lost.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to