I'm still spinning my wheels on this one. Let me try to explain better..
On the page I have @Inject DAOFactory @Inject MyService On the DAOFactory I have @Inject DAO1 @Inject DAO2 etc... On MyService I have @Inject DAO1 In my module I have bind(MyService.class).toInstance(new MyService()); bind(IDAOFactory.class).to(DAOFactory.class).in(Singleton.class); bind(DAO1.class).in(Singleton.class); bind(DAO2.class).in(Singleton.class); On the page I also have: genericWorkPool.submit(new Runnable() { @Override public void run() { try { //Do stuff with DAOFactory -- works //Do stuff with MyService -- Blow ups <<<---- See exception below } catch (Throwable t) { log.error("Error sending email on Signup: " + t.getMessage(), t); } } } This is the error I get org.apache.wicket.WicketRuntimeException: There is no application attached to current thread pool-13-thread-3 at org.apache.wicket.Application.get(Application.java:179) at org.apache.wicket.guice.GuiceProxyTargetLocator.locateProxyTarget(GuiceProxyTargetLocator.java:73) at org.apache.wicket.proxy.LazyInitProxyFactory$CGLibInterceptor.intercept(LazyInitProxyFactory.java:317) at WICKET_com.conducive.logic.buzzbox.BuzzboxEmailGenerator$$EnhancerByCGLIB$$1171cfab.generateFor(<generated>) <-- this is "MyService" I can't understand why DAOFactory would work ok but MyService wouldn't. On May 27, 2010, at 6:53 PM, Douglas Ferguson wrote: I'm using 1.4.8 (not the ITL version). I have pass a runnable to an executer, how can I make use of classes that use @Inject? When I try to do so, it blows up saying "There is no application attached to current thread pool-13-thread-1" The confusing thing is that I inject 2 DAOs and 1 service. The 2DAOs work just fine but the service blows up. I've tried these combinations: 1) @Inject into the page and then pass the reference to the constructor of the runnable 2) Construct the service in the Runnable and call @InjectorHolder.getInjector().inject(service) Neither works. D/