I'm guessing you'd want to use iPOJO API, which allows you to describe a component dynamically:

http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/apache-felix-ipojo-api.html

-> richard

On 3/26/14, 16:37 , [email protected] wrote:
Hello everyone,

I am just starting with iPOJO and I was wondering what is the
right/recommended way in iPOJO to select a service late at runtime.
Imagine a textbox in a GUI that asks for a version and only after the user
entered version=1.3.5 I can know that the service I want injected is
v1.3.5. In this case annotations or xml don't work since they are static

What I am currently doing is using an aggregate dependency and then I loop
myself over all the services (the version is a property of the service
BTW) and return the one that matches the request

I though of multiple ways of doing this but I don't know if they are
possible or make sense

1) doing some kind of service registry query where I can explicitly ask
for the service with the given properties and I will have it returned
right away
2) modifying the injection filter at runtime; however with this technique
I would have to wait for the framework to do the injection whenever it
wants instead of when I need it. i.e. it is asynchronous
3) using the iPOJO API to modify the dependency. Again this solution would
be async
4) The one I mentioned first. Keep a list of all the services via an
aggregate dependency and loop through them to find the one that matches
5) other?

Thank you in advance,

Alejandro Endo | Software Designer/Concepteur de logiciels

DISCLAIMER:
Privileged and/or Confidential information may be contained in this
message. If you are not the addressee of this message, you may not
copy, use or deliver this message to anyone. In such event, you
should destroy the message and kindly notify the sender by reply
e-mail. It is understood that opinions or conclusions that do not
relate to the official business of the company are neither given
nor endorsed by the company.
Thank You.



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

Reply via email to