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

Reply via email to