JBoss的关机超时?

时间:2013-02-28 12:39:56

标签: java singleton jboss7.x

我使用JBoss 7.1.1.Final。在这里,我有一个创业单身人士。在启动时我初始化一些东西,在关机时我终止/清理我的东西。 但是现在我发现,终止我可以做任何我想做的1秒!一秒钟之后,应用程序就会消失,有时1秒的时间不足以进行真正的清理。

代码:

@Singleton
@Startup
public class ShutdownTest {

  @PostConstruct
  public void initialize() {
    LOG.info("Initialization");
  }

  @PreDestroy
  public void terminate() {
    for(;;) {
      LOG.info("loop in terminate...");
      Tools.sleepQuietly(100); // just sleeps for 100 milliseconds
    }
  }

}

这个类确实在启动时报告了初始化,但在终止时我输出了10倍,之后,JBoss就死了。

即使某些PreDestroy方法仍在运行,我怎样才能配置这个时间,直到JBoss自杀为止?

目前我从Eclipse启动和停止JBoss(Poller设置为Web端口)。

1 个答案:

答案 0 :(得分:0)

在关闭事件中没有办法在JBoss 7上执行此操作(基于JBoss / WildFly团队的this answerTomaz Cerar)。

在Windows上,我可以确认没有办法做到这一点(我假设Linux也是如此)。

我发现如果在关闭服务器之前停止应用程序,它会起作用。即:登录到webconsole,导航到Runtime(右上角的Tab) - >管理部署(菜单) - >按钮“禁用”为您的应用程序。

在WildFly 8中,您可以获得关闭的“超时”选项。请参阅this post了解如何使用它。

相关问题