Как уже упоминалось here, гуавы ServiceManager можно получитьКак использовать Guava ServiceManager с Guice инъекций
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();
Как получить примеры запущенных сервисов?
p.s. Настройка сервисов, которые будут @Singleton, выглядит как хак.
Я думаю, что у меня был тот же вопрос, но в другой форме. Вместо сервисов я управлял плагинами. В основном это касается многобиблиотечных и частных модулей. Я получил это здесь: http://stackoverflow.com/questions/6625837/generalize-guices-robot-legs-example-with-multibinding –
hi @tanyehzheng это веб-приложение или рабочий стол? – Njax3SmmM2x2a0Zf7Hpd
Несмотря на то, что я пытался использовать настольное приложение, мой вопрос не зависит от того, является ли это настольным приложением или веб-приложением. – tanyehzheng