如上所述here https://plus.google.com/118010414872916542489/posts/86dUfeQk5dH, 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 感觉就像黑客。
ServiceManager.getServicesByState().get(RUNNING)
返回正在运行的服务并ServiceManager.getServicesByState().values()
返回由 ServiceManager 管理的所有服务。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)