从EJB 3.1开始,单例Bean可以被通知模块的启动和停止:
@Singleton
@Startup
public class StartupBean {
@PostConstruct
private void postConstruct() { /* ... */ }
@PreDestroy
private void preDestroy() { /* ... */ }
}
在EJB 3.1之前,没有标准的、仅限于EJB的解决方案。我建议将一个WAR添加到你的EAR中,并使用一个servlet-context-listener。