-1

我想在 JBOSS 上部署一个 Java 应用程序,该应用程序在部署后启动,每“X”秒后在文件中写入一个文本行,并在 JBOSS 停止时停止。

我知道如何创建一个可运行的 jar,但我不知道如何在 jboss 中创建一个 war 文件。

while(true){
    count ++;
    System.out.println("Hello - " + count);
    Thread.sleep(this.properties.getSleep_time() *1000);
}

我已经编写了一个每 10 秒轮询一次数据库表的方法,并且运行良好。我已经将它嵌入到一个 servlet 中,只是为了将它部署在 jboss 上(使用 init 方法和计时器)。除非 JBOSS 关闭,否则一切正常,因为它无法取消部署我的 servlet。可以使用 servlet 进行轮询吗?

4

2 回答 2

2

我认为您需要从Java EE 教程开始了解 Java EE(如 JBoss As)是什么。

计时器服务是您需要查看的部分进行大头针调度(规范在任何线程操作中放置“不应该”。(提示:如果进程持续时间可以类似于滴答时间,请使用手动触发器@Schedule

您的问题确实触发了一些警报,您应该查看 Java EE 教程和其他 Java EE 文档,以评估 Java EE 是否是您的应用程序的正确解决方案。

于 2013-02-04T17:30:02.110 回答
0

我通过在我的 servle 中插入这两种方法解决了我的问题:

@Override
public void contextInitialized(ServletContextEvent event) {
    // Do your job here during webapp startup.
}

@Override
public void contextDestroyed(ServletContextEvent event) {
    // Do your job here during webapp shutdown.
}

因此,当调用 contextDestroyed时,我会停止轮询调度程序。

于 2013-08-01T11:59:42.520 回答