Cómo utilizar Guava ServiceManager con inyección de Guice
Como se mencionóaquí, Guava ServiceManager puede obtenerse por
ServiceManager manager = injector.getInstance(ServiceManager.class);
Para hacer que esto funcione, agregué lo siguiente en mi módulo de Guice:
@Provides
public Set<Service> services(){
return ImmutableSet.<Service>of(MyService());
}
En mi clase principal,
ServiceManager manager = injector.getInstance(ServiceManager.class);
manager.startAsync().awaitHealthy();
¿Cómo obtengo instancias de los servicios iniciados?
PD. Configurar los servicios para ser @Singleton se siente como un hack.