【发布时间】:2011-09-29 19:58:04
【问题描述】:
当部署/取消部署 EJB 应用程序(停止 JMX MServerBean)时,我如何添加关闭挂钩(就像 JVM Shutdown Hook)来监听(获取通知)?
我可以使用 ServletContextListener,不幸的是这是一个 EJB jar。
【问题讨论】:
标签: java ejb-3.0 monitoring jmx
当部署/取消部署 EJB 应用程序(停止 JMX MServerBean)时,我如何添加关闭挂钩(就像 JVM Shutdown Hook)来监听(获取通知)?
我可以使用 ServletContextListener,不幸的是这是一个 EJB jar。
【问题讨论】:
标签: java ejb-3.0 monitoring jmx
使用@Singleton bean 并实现@PreDestroy:
@Startup
@Singleton
public class HookBean {
@PreDestroy
void wholeApplicationShuttingDown {
}
}
更新:刚刚注意到ejb-3.0 标签。 @Singleton 在 3.1 中添加。但也许你会发现它很有用。
【讨论】:
使用无状态 Bean with a @PreDestroy method
【讨论】:
@PreDestroy 方法可以解决问题...实际上在 EJB 3.1 中引入了 @Singleton 和 @Startup 注释正是为了解决 OP 遇到的问题(没有可靠的启动回调也...)