【发布时间】:2013-10-02 10:10:58
【问题描述】:
如here所说,Guava ServiceManager可以通过
ServiceManager manager = injector.getInstance(ServiceManager.class);
为了完成这项工作,我在 Guice 模块中添加了以下内容:
@Provides
public Set<Service> services(){
return ImmutableSet.<Service>of(MyService());
}
在我的主要课程中,
ServiceManager manager = injector.getInstance(ServiceManager.class);
manager.startAsync().awaitHealthy();
如何获取已启动服务的实例?
附言将服务设置为 @Singleton 感觉就像是 hack。
【问题讨论】:
-
我想我有同样的问题,但在另一种形式下。我管理插件而不是服务。基本上,它涉及 Multibinder 和私有模块。我在这里得到了答案:stackoverflow.com/questions/6625837/…
-
嗨 @tanyehzheng 它是一个 Web 应用程序还是一个桌面应用程序?
-
虽然我尝试的是桌面应用程序,但我的问题并不特定于它是桌面应用程序还是网络应用程序。