I figured there must be a way to get a service from bundleB and IF that service needs something (something he owns!) then I thought it could be perfectly able to get it from its own spring context (that is 'wiring" it to itself).
I don't need to actually get the autowired bean from bundleB. I need bundleB to do something for me (bundleA). (in the example I need BundleBClass.sayHello()) Gotta find a (quick) workaround to do this. -----Original Message----- From: Andreas Pieber [mailto:[email protected]] Sent: martedì 15 febbraio 2011 17:42 To: [email protected]; Marco Firrincieli Subject: Re: spring injected bean cannot be found ah ok, this can't work this way... in bundlaA only the spring files in bundleA count; if you define the autowiring things in bundleA-spring-file it will work; BUT bundleA-spring-files have no idea of bundleb-spring-files... I hope it is clear what I'm pointing at... Typically you don't want to do a new XXX in bundleA but rather import a service from bundleB @thread: no it isn't you also have to remove the In-Reply-To: field in the header; simply hitting reply and changing the subject does not really create a new thread :) kind regards, andreas On Tue, Feb 15, 2011 at 05:41:33PM +0100, Marco Firrincieli wrote: > Here it comes: > > (I’ve tried to simplify here... hope it works) > > Here’s my karaf list command output (notice all I need is in an Active state). > > [51] [Active] [] [] [75] my.legacy.something.just-a-jar > (1.0.0.SNAPSHOT) [105] [Active] [] [] [70] some.domain.beans > (1.0.0.SNAPSHOT) [142] [Active] [] [] [70] bundleB (1.0.0.SNAPSHOT) > [142] [Active] [] [] [70] bundleA (1.0.0.SNAPSHOT) > > at some point in bundleA i have: > > package my.package.bundleA > > import some.class.in.bundleB.BundleBClass; > > public class MyClass { > void doStuff() { > new BundleBClass().sayHello(); > } > } > > > Whereas in bundleB > > package some.class.in.bundleB; > > public class BundleBClass { > > @Autowired > private Sayer sayer; > > void sayHello() { > this.sayer.say("hello"); > } > } > > And of course bundleB exports its BundleBClass > > > I’ve got a wonderful nullpointer in sayHello method because "sayer" is null. > The autowired doesn’t seem to work. > > > > > Ps: @Andreas, is this not a new thread? > > > > > > > > > > > > > > From: [email protected] [mailto:[email protected]] > Sent: martedì 15 febbraio 2011 17:21 > To: [email protected]; Marco Firrincieli > Subject: Re: spring injected bean cannot be found > > Do you use blueprint for that or pure OSGi services ? > Could we have the spring file and the complete stack trace ? > > Regards > JB > ________________________________________ > From: Marco Firrincieli <[email protected]> > Date: Tue, 15 Feb 2011 17:20:41 +0100 > To: [email protected]<[email protected]> > ReplyTo: [email protected] > Subject: spring injected bean cannot be found > > One of my bundles (call it bundleA) instantiate a new Stuff() and this Stuff > is another bundle (bundleB) (already up and running) and has a Spring > autowired bean. > > Result: nullpointerexception the (supposedly) injected bean. > > Any idea? Should add something in bundleB’s manifest? > > > Can’t find much googling about this. > > Thanks > > -m
