One point some ds beginners miss is that if your component provides a service 
by default it is delayed and won’t be instantiated until the service is used. 
This laziness is great but can be confusing. Specify immediate=true if you want 
to see all the components instantiated as soon as all their dependencies are 
satisfied.

Hope this helps
David Jencks 

Sent from my iPhone

On Mar 9, 2018, at 1:41 PM, Steinar Bang <[email protected]> wrote:

>>>>>> Christian Schneider <[email protected]>:
> 
>> You only need the scr feature.
>> Then you can use the scr:* commands to look into your components.
> 
>> How do you see that it does not work?
> 
> I'm putting breakpoints in different injection points and they aren't
> called or they are strangely called.
> 
> I haven't pushed my current DS work yet, but what I'm trying to do is
> replace my current bundle activator based solution with DS.
> 
> What I see in the debugger is that the first component shows up in
> capabilities but doesn't get any injections.
> 
> Then I load the bundle with the next component, and the first component
> suddenly gets its injections (a LogService and a DataSourceFactory).
> 
> But the second component, that triggered the entire thing, doesn't get
> any injections (it was supposed to get a LogService and a service from
> the component in the first bundle.  Ie. the component that just saw
> getting its injections, in the debugger).
> 
> The second bundle is a war bundle, not a jar bundle.  Is that a problem?
> 
> I'll try the scr commands and see what they can tell me.
> 
>> Maybe you use the wrong annotations or the wrong version of the bundle
>> plugin.
> 
> import org.osgi.service.component.annotations.Component;
> import org.osgi.service.component.annotations.Reference;
> 
> <plugin>
>    <groupId>org.apache.felix</groupId>
>    <artifactId>maven-bundle-plugin</artifactId>
>    <version>2.5.3</version>
> </plugin>
> 

Reply via email to