Следующая ссылка описывает, как обрабатывать инициализацию и уничтожение модуля в Guice с использованием интерфейса Service с методами start () и stop ():
http://code.google.com/p/google-guice/wiki/ModulesShouldBeFastAndSideEffectFree
Документация объясняет, что создание службы выглядит следующим образом в коде клиента:
public static void main(String[] args) throws Exception {
Injector injector = Guice.createInjector(
new DatabaseModule(),
new WebserverModule(),
...
);
Service databaseConnectionPool = injector.getInstance(
Key.get(Service.class, DatabaseService.class));
databaseConnectionPool.start();
addShutdownHook(databaseConnectionPool);
Service webserver = injector.getInstance(
Key.get(Service.class, WebserverService.class));
webserver.start();
addShutdownHook(webserver);
}
Но не приводится ни одного примера реализации класса Concrete Service. Кто-нибудь может предоставить мне один? По крайней мере, пример реализации того, что содержат start () и stop ().