Thanks Christopher. I am also thinking along these lines. On Thu, Jun 11, 2009 at 10:08 PM, Christopher Armstrong < [email protected]> wrote:
> > On 12/06/2009, at 10:59 AM, Dmitry Skavish wrote: > >> yes of course I can do it this way. I was just curious if there is a >> "better", more structured way in DS or OSGi itself. something similar to >> those extension points, like specifying a "target" for my services >> >> > I think you should take a look at the "target" filtering mechanism in DS (I > believe this is what Richard was referring to). It lets you filter based on > service properties in your component definition. IIRC, if you were to a > define a component reference that behaved like an extension point you might > do something like this: > > <component ....> > <reference id="ref1" interface="org.something.else.MyInterface" > target="(&(extensionpoint=org.something.else.featurepoint1))"/> > </component> > > In this way, your component would be "wired" to the service that has the > "extensionpoint" property equal to "org.something.else.featurepoint1". Of > course, the property name I chose here is completely arbitrary, you can use > whatever you like. You could also filter on service.pid properties I guess, > which are supposed to be unique. > > The added advantage of that method is that if you use Config Admin to > configure your DS components, you can make the "target" filter property > specified above configurable in the CM configuration. > > Cheers > Chris > > [email protected] > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- Dmitry Skavish

