答案 0 :(得分:21)
从EJB 3.1开始,可以通知单例bean模块的启动和停止:
@Singleton
@Startup
public class StartupBean {
@PostConstruct
private void postConstruct() { /* ... */ }
@PreDestroy
private void preDestroy() { /* ... */ }
}
在EJB 3.1之前,没有标准的,仅限EJB的解决方案。我建议在你的EAR中添加一个WAR并使用servlet-context-listener。
答案 1 :(得分:17)
根据Adam Bien的真实世界Java EE模式 - 重新思考最佳实践(参见summary of the patterns)和服务入门模式,确实如同bkail建议