是否有任何方法可以捕获事件/实现类或类似的东西来检测 JBoss (AS7) 是否已启动并正在运行并且所有应用程序都已部署?
我制作了一个 StartupServlet(它扩展了 HttpServlet),因为我需要调用本地 Web 服务来初始化系统。但是因为我的应用程序没有完全部署,所以我对 Web 服务的调用(在 StartupServlet 中)以“404 Not Found error”结束。
我尝试使用 <listener>...</listener>
在 web.xml 上,但它不起作用。
最佳答案
您可以尝试使用Startup
EJB,如解释的here :
@Singleton
@Startup
public class StartupBean {
@PostConstruct
private void startup() { ... }
@PreDestroy
private void shutdown() { ... }
}
但是,该 bean 不会检测您的应用程序是否已部署,只会检测当前应用程序(包含该 bean 的应用程序)已部署并启动。由于 @PostConstruct
方法很早就被调用,您不能依赖任何其他可用的 bean 或服务。
编辑:Jboss 也有一个 native management API .据我所知,它也可以用于查询部署。不幸的是,它的文档并不是很令人印象深刻,但也许您可以弄明白。
关于java - JBoss AS 7 - 启动初始化后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15836896/