Did you install the Felix Webconsole? It provides a wonderful amount of info
why DS sometimes does not work.
Kind regards,
Peter Kriens
On 19 jan 2011, at 17:42, David Conde wrote:
> No, if I remove the target="(TECHNOLOGY_HA=ZIGBEE)" from the first one, it is
> the only way that it is take the proper ManagerService if the proper
> ManagerService (the one with TECHNOLOGY_HA=ZIGBEE in its properties) is
> activated first. If I leave the target field with some value always I get
> that my bundle is not satisfied since it does not find any bundle with this
> property between the ManagerServices.
>
>
>
> Thank you again
>
>
>
> De: [email protected] [mailto:[email protected]] En
> nombre de BJ Hargrave
> Enviado el: miércoles, 19 de enero de 2011 17:05
> Para: OSGi Developer Mail List
> Asunto: RE: [osgi-dev] Problem with Declarative Services and Filtering
>
>
>
> So if you remove target="(TECHNOLOGY_HA=ZIGBEE)" from the first XML file,
> that component gets the proper ManagerService?
> --
>
>
> BJ Hargrave
> Senior Technical Staff Member, IBM
> OSGi Fellow and CTO of the <http://www.osgi.org/> OSGi Alliance
> <mailto:[email protected]> [email protected]
>
>
> office: +1 386 848 1781
> mobile: +1 386 848 3788
>
>
>
>
>
>
>
> From: "David Conde" <[email protected]>
> To: "'OSGi Developer Mail List'" <[email protected]>
> Date: 2011/01/19 10:53
> Subject: RE: [osgi-dev] Problem with Declarative Services and
> Filtering
> Sent by: [email protected]
>
> _____
>
>
>
>
> Hi again,
>
> Here I write the component.xml of MyService (the one which I want to activate
> when the Service with TECHNOLOGY_HA=ZIGBEE is ACTIVE):
>
> <?xml version="1.0" encoding="UTF-8"?>
> <scr:component xmlns:scr=" <http://www.osgi.org/xmlns/scr/v1.1.0>
> http://www.osgi.org/xmlns/scr/v1.1.0" activate="activate"
> configuration-policy="optional" deactivate="deactivate"
> factory="es.citic.puedes.homeautomation.zigbee.tech.factory"
> modified="modified" name="es.citic.puedes.homeautomation.zigbee.tech">
> <implementation
> class="es.citic.puedes.homeautomation.zigbee.tech.impl.ZBTechManager"/>
> <property name="TECHNOLOGY_HA" type="String" value="ZIGBEE"/>
> <service>
> <provide
> interface="es.citic.puedes.homeautomation.devicemanager.ITechnologymanager"/>
> </service>
> <reference bind="bindPreferencesService" cardinality="1..1"
> interface="org.osgi.service.prefs.PreferencesService"
> name="PreferencesService" policy="dynamic" unbind="unbindPreferencesService"/>
> <reference bind="bindConfigurationAdmin" cardinality="1..1"
> interface="org.osgi.service.cm.ConfigurationAdmin" name="ConfigurationAdmin"
> policy="dynamic" unbind="unbindConfigurationAdmin"/>
> <reference bind="bindZBCommunicationManager" cardinality="1..1"
> interface="es.citic.puedes.homeautomation.communicationdevicemanager.ICommunicationDeviceManager"
> name="ICommunicationDeviceManager" policy="dynamic"
> target="(TECHNOLOGY_HA=ZIGBEE)" unbind="unbindZBCommunicationManager"/>
> </scr:component>
>
>
> And next you can see the component.xml of the ManagerService which should
> activate the first one.
>
> <?xml version="1.0" encoding="UTF-8"?>
> <scr:component xmlns:scr=" <http://www.osgi.org/xmlns/scr/v1.1.0>
> http://www.osgi.org/xmlns/scr/v1.1.0" activate="activate"
> configuration-policy="optional" deactivate="deactivate"
> factory="es.citic.puedes.homeautomation.zigbee.comm.factory"
> immediate="false" modified="modified"
> name="es.citic.puedes.homeautomation.zigbee.comm.impl.ZBCommManager">
> <implementation
> class="es.citic.puedes.homeautomation.zigbee.comm.impl.ZBCommManager"/>
> <service>
> <provide
> interface="es.citic.puedes.homeautomation.communicationdevicemanager.ICommunicationDeviceManager"/>
> </service>
> <property name="TECHNOLOGY_HA" type="String" value="ZIGBEE"/>
> <reference bind="bindPreferenceService" cardinality="1..1"
> interface="org.osgi.service.prefs.PreferencesService"
> name="PreferencesService" policy="dynamic" unbind="unbindPreferenceService"/>
> </scr:component>
>
>
> I have either tried by writing (&
> (name="TECHNOLOGY_HA)(type="String")(value="ZIGBEE")) and I get the same
> result.
>
> Thank you for your time and help!
>
> Regards
>
> David
>
> -----Mensaje original-----
> De: [email protected] [ <mailto:[email protected]>
> mailto:[email protected]] En nombre de Felix Meschberger
> Enviado el: miércoles, 19 de enero de 2011 15:40
> Para: OSGi Developer Mail List
> Asunto: RE: [osgi-dev] Problem with Declarative Services and Filtering
>
> 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: [email protected]
>> [ <mailto:[email protected]>
>> mailto:[email protected]] 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
>> [email protected]
>>
>>
>>
>>
>>
>> office: +1 386 848 1781
>>
>> mobile: +1 386 848 3788
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> From: "David Conde" <[email protected]>
>> To: "'OSGi Developer Mail List'" <[email protected]>
>> Date: 2011/01/19 07:54
>> Subject: [osgi-dev] Problem with Declarative Services and
>> Filtering
>> Sent by: [email protected]
>>
>>
>> ______________________________________________________________________
>>
>>
>>
>> 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
>> [email protected]
>> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>
>>
>> _______________________________________________
>> OSGi Developer Mail List
>> [email protected]
>> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
>
> _______________________________________________
> OSGi Developer Mail List
> [email protected]
> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
>
> _______________________________________________
> OSGi Developer Mail List
> [email protected]
> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
> _______________________________________________
> OSGi Developer Mail List
> [email protected]
> https://mail.osgi.org/mailman/listinfo/osgi-dev
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev