Hi Felix, thx for your answer. I completely forgot to tell that I'm using Apache Felix of course.
I tried my FindHook with the more general way by calling BundleContext.getServiceReference and there it works. So as you told that must be an issue of the framework. Greetings. Christian ----- Original Message ----- From: [email protected] To: [email protected] Date: 02.08.2012 16:01:56 Subject: Re: DS and FindHook > Hi, > > Am 02.08.2012 um 14:32 schrieb <[email protected]>: > >> Hi, >> >> Today I worked a little bit with OSGi Hooks, specially with FindHook and >> EventListenerHook for services. I wanted to try out proxying services. The >> EventListenerHook works fine and my services are proxied. But I realized >> that the FindHook event would'nt be called if a service will get a reference >> of the service implementation by annotating the related setXXX method with >> @Reference (Bnd style). Maybe it is not a problem with the annotation, but >> with DS in general. >> >> This is quite bad, bc there are two services registered one without proxy >> and one proxied. I only want to get references from the proxied one. In >> general, without DS, you can get references by calling >> BundleContext.getServiceReference(java.lang.Class<S> clazz) and the event >> FindHook.find will be called, where you can decide which ServiceReference >> you want to return. >> >> What kind of processes will be executed when I'm using DS like approaches >> (for me: Bnd annotation @Reference)? As I described in the above section: I >> want to decide which services should be referenced. > > I can only speak for the Apache Felix DS implementation: I use the > BundleContext.getServiceReferences(String, String) to explicitly access > service references using the BundleContext of the respective context (thus to > also have OSGi security applied). I would assume that candidate service > references are send to the FilterHook before getting the result to the DS > implementation. > > So, unless there is a bug in the framework implementation or in your hook > registration, your hook should really be called. (and of course only if the > getServiceReferences call comes after your hook is registered. > > Regards > Felix > >> >> Greetings. >> Christian >> >> >> --------------------------------------------------------------------- >> 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

