[ 
https://issues.apache.org/jira/browse/DOSGI-73?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Schneider resolved DOSGI-73.
--------------------------------------
       Resolution: Fixed
         Assignee: Christian Schneider
    Fix Version/s: 2.0.0

I switched the tests to DS and can not observe this problem anymore. I guess 
this was fixed in scr.

> OSGi Declarative Service-based consumer does not register proxy service on 
> demand
> ---------------------------------------------------------------------------------
>
>                 Key: DOSGI-73
>                 URL: https://issues.apache.org/jira/browse/DOSGI-73
>             Project: CXF Distributed OSGi
>          Issue Type: Bug
>          Components: DSW
>    Affects Versions: 1.2
>         Environment: Equinox 3.6 with DS
>            Reporter: David Bosschaert
>            Assignee: Christian Schneider
>             Fix For: 2.0.0
>
>
> When using OSGi Declarative Services (DS) you can express interest in an OSGi 
> service through an XML descriptor, like this one (from the samples/ds demo):
> {code:xml}<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0"; 
> name="DS Consumer Sample" activate="start">
>    <implementation 
> class="org.apache.cxf.dosgi.samples.ds.consumer.AdderConsumer"/>
>    <reference interface="org.apache.cxf.dosgi.samples.ds.AdderService" 
> name="AdderService" cardinality="1..1" policy="dynamic" bind="bindAdder" 
> unbind="unbindAdder"/>
> </scr:component>{code}
> The declarative services implementation will then inject your service into 
> your component.
> With CXF-DOSGi a remote service is always registered on-the-fly when a 
> service is requested. This is done through a ListenerHook. The listenerhook 
> gets called with the filter of services that are looked up by a consumer, 
> e.g. what the consumer passed in to a ServiceTracker.
> It seems like the DS implementation uses a single tracker or listener for all 
> the services it's interested in, which probably uses an empty filter. This is 
> currently ignored by the CXF-DOSGi listener hook implementation, which means 
> that the AdderService proxy is not automatically injected in the component.
> There is a workaround. Simply create a bundle (any bundle) in the consumer 
> that registers a service tracker to listen for the service that you want to 
> be discovered remotely.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to