felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dirk Rudolph <dirk.rudo...@netcentric.biz>
Subject Re: Getting a reference to a declarative service
Date Tue, 20 Jan 2015 11:09:40 GMT
Try to add immediate=“true” to your component definition. This should result in something
like

> <?xml version="1.0" encoding="UTF-8"?><components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
>    <scr:component immediate=“true” name="ru.multicabinet.gateway.ExampleDS">
>        <implementation class="ru.multicabinet.gateway.ExampleDS"/>
>        <service servicefactory="false">
>            <provide interface="ru.multicabinet.gateway.SimpleI"/>
>        </service>
>        <property name="service.pid" value="ru.multicabinet.gateway.ExampleDS"/>
>    </scr:component>
> </components>

and causes the component to be started immediately after it has been registered.

Kind regards,
Dirk Rudolph | Senior Software Engineer

Netcentric AG

M: +41 79 642 37 11
D: +49 174 966 84 34

dirk.rudolph@netcentric.biz <mailto:dirk.rudolph@netcentric.biz> | www.netcentric.biz
<http://www.netcentric.biz/>
> On 20 Jan 2015, at 11:53, Artem Zhirkov <az@develdynamic.com> wrote:
> 
> Hello,
> 
> I want to include more than one service into a bundle, so it seems like I have to make
a use of declarative services.
> 
> I'm building a test bundle with maven + maven-bundle-plugin and generating the ds descriptor
with maven-scr-plugin, so it looks like this:
> 
> <?xml version="1.0" encoding="UTF-8"?><components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
>    <scr:component name="ru.multicabinet.gateway.ExampleDS">
>        <implementation class="ru.multicabinet.gateway.ExampleDS"/>
>        <service servicefactory="false">
>            <provide interface="ru.multicabinet.gateway.SimpleI"/>
>        </service>
>        <property name="service.pid" value="ru.multicabinet.gateway.ExampleDS"/>
>    </scr:component>
> </components>
> 
> After installing the test bundle into my osgi container I'm trying to get a list of all
services in the test bundle by calling bundle.getRegisteredServices(), but it'd always return
null.
> 
> What I'm doing wrong? Maybe  I should use ServiceTracker to obtain a reference to ds
service?
> 
> Thanks
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
> 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message