以下链接描述了如何使用带有 start() 和 stop() 方法的 Service 接口在 Guice 中处理模块初始化和销毁:
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);
}
但没有列出具体服务类的任何示例实现。谁能给我一份?至少是 start() 和 stop() 包含的示例实现。