Hi, Am Mittwoch, den 19.01.2011, 14:49 +0100 schrieb David Conde: > Hi, I have just tried (TECH=AAA) and I get the same result as > (TECH=”AAA”), I got that the component is not satisfied like If the > ManagerService with TECH=AAA does not exist, could this be because of > I am using TECHNOLOGY_HA instead of TECH as key property?I mean > because of the “_” char.
Consider this: Hashtable props = new Hashtable(); props.put("TECHNOLOGY_HA", "AAA"); bundleContext.registerService(ManagerService.class, managerService, props); In this case the reference must be: <Reference ... target="(TECHNOLOGY_HA=AAA)" ... /> Of course the names of the properties must exactly match otherwise, there will never be a service provided.... Otherwise, please provide samples. Thanks. Regards Felix > > > > Thanks in advance > > > > > > > > De: osgi-dev-boun...@mail.osgi.org > [mailto:osgi-dev-boun...@mail.osgi.org] En nombre de BJ Hargrave > Enviado el: miércoles, 19 de enero de 2011 14:38 > Para: OSGi Developer Mail List > Asunto: Re: [osgi-dev] Problem with Declarative Services and Filtering > > > > > Don't put the quote *in* the attribute value of the filter > expression. > > (TECH=AAA) not (TECH="AAA") > > The latter is looking for a 5 character string that starts and ends > with double quote. > -- > > BJ Hargrave > Senior Technical Staff Member, IBM > OSGi Fellow and CTO of the OSGi > Alliance > hargr...@us.ibm.com > > > > > > office: +1 386 848 1781 > > mobile: +1 386 848 3788 > > > > > > > > > > > > > > From: "David Conde" <dco...@citic.es> > To: "'OSGi Developer Mail List'" <osgi-dev@mail.osgi.org> > Date: 2011/01/19 07:54 > Subject: [osgi-dev] Problem with Declarative Services and > Filtering > Sent by: osgi-dev-boun...@mail.osgi.org > > > ______________________________________________________________________ > > > > Hi, > > I have a service MyService which is waiting for another service > ManagerService to be activated. The problem is that there are more > than one ManagerService in the platform so the first ManagerService > ACTIVE will call the method bindManagerService(ManagerService ms) from > MyService and this will activate MyService. The problem is that I do > not want any of them but I need the ManagerService whose property is > TECH=AAA (which is specified in the component.xml of the > ManagerService right). > > In this way, in order to get the ManagerService whose property is > TECH=AAA and not other one, I specified in the component.xml of my > service in the “target” field the next LDAP filter: (TECH=”AAA”) , > the problem is that MyService is never satisfied since it does not > find a ManagerService with this property. > > How could I specified the one that I need in the component.xml in > order to active MyService just when the ManagerService that I am > waiting for is ACTIVE? > > Thank you in advance > > Best Regards_______________________________________________ > OSGi Developer Mail List > osgi-dev@mail.osgi.org > https://mail.osgi.org/mailman/listinfo/osgi-dev > > > _______________________________________________ > OSGi Developer Mail List > osgi-dev@mail.osgi.org > https://mail.osgi.org/mailman/listinfo/osgi-dev _______________________________________________ OSGi Developer Mail List osgi-dev@mail.osgi.org https://mail.osgi.org/mailman/listinfo/osgi-dev