如前所述here,番石榴的ServiceManager可以通过如何利用番石榴的ServiceManager与吉斯注射
ServiceManager manager = injector.getInstance(ServiceManager.class);
取得为了使这项工作,我说在我的吉斯模块如下:
@Provides
public Set<Service> services(){
return ImmutableSet.<Service>of(MyService());
}
在我的主类
ServiceManager manager = injector.getInstance(ServiceManager.class);
manager.startAsync().awaitHealthy();
如何获取已启动的服务的实例?
p.s.将服务设置为@Singleton感觉就像是黑客。
我想我有同样的问题,但在另一种形式。我管理插件而不是服务。基本上,它涉及Multibinder和私有模块。我得到它在这里回答:http://stackoverflow.com/questions/6625837/generalize-guices-robot-legs-example-with-multibinding –
嗨@tanyehzheng它是一个Web应用程序或桌面之一? – Njax3SmmM2x2a0Zf7Hpd
虽然我尝试的是桌面应用程序,但我的问题并不是特定于桌面应用程序还是Web应用程序。 – tanyehzheng