2013-04-05 125 views
2

有没有什么办法来捕捉事件/实现一个类,或类似的东西,检测JBoss(AS7)启动并运行,所有的应用程序已部署?JBoss AS 7 - 启动后初始化

我做了StartupServlet(它扩展了HttpServlet),因为我需要调用本地Web服务来初始化系统。但是因为我的应用程序没有完全部署,所以我的Web服务调用(在StartupServlet中)以“404 Not Found错误”结束。

我试图在web.xml上使用<listener>...</listener>,但它不起作用。

回答

0

,你可以尝试使用Startup EJB,像解释here

@Singleton 
@Startup 
public class StartupBean { 

    @PostConstruct 
    private void startup() { ... } 

    @PreDestroy 
    private void shutdown() { ... } 
} 

然而bean将不会检测到您的应用程序是否部署,仅当前应用程序 - 包含豆一 - 部署和开始。由于@PostConstruct方法非常早,所以不能依赖任何其他可用的bean或服务。

编辑:Jboss也有native management API。 AFAIK它也可以用来查询部署。不幸的是它的文档并不令人印象深刻,但也许你可以弄明白。

+0

我试过了,但它被称为方式来早。我开始觉得没有办法做到这一点。 – Joshua 2013-04-05 15:08:03

+0

@Joshua - 至少这不是微不足道的。我增加了一个可能性 - 也许它可以提供帮助。 – kostja 2013-04-05 15:18:20