Also make sure that apart from generating the descriptor(s) it adds the
correct 'Service-Component' header in your manifest. I recall some problems
when both 'maven-bundle-plugin' and 'maven-scr-plugin' are used together. I
personally try to avoid using 'maven-scr-plugin' and add
'<_dsannotations>*</_dsannotations>' to 'maven-bundle-plugin' configuration
instead!

Best,
Milen

On Tue, Jan 20, 2015 at 1:19 PM, Neil Bartlett <[email protected]> wrote:

> Dirk: I don’t think Artem was asking about activation of the component, he
> has a problem with service registration. So whether the component is
> immediate or delayed seems to be irrelevant.
>
> Artem: there are a few things you need to check. Is your bundle active? Do
> you have a DS implementation bundle (such as org.apache.felix.scr, or
> org.eclipse.equinox.ds) installed and active?
>
> Regards,
> Neil
>
>
> > On 20 Jan 2015, at 11:09, Dirk Rudolph <[email protected]>
> wrote:
> >
> > 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
> >
> > [email protected] <mailto:[email protected]> |
> www.netcentric.biz <http://www.netcentric.biz/>
> >> On 20 Jan 2015, at 11:53, Artem Zhirkov <[email protected]> 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: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
http://about.me/milen

Reply via email to