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

