我想在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进行轮询?
答案 0 :(得分:2)
我认为你需要从Java EE tutorial开始知道Java EE(比如JBoss As)是什么。
timer service是您需要查看大头钉计划的部分(Spec放置"不应该' t"任何线程操作。(提示:使用手动触发器{{ 1}}如果过程持续时间可以与滴答时间相似)
您的问题确实会引发一些警报,您应该查看Java EE教程和其他Java EE文档,以评估Java EE是否是适合您应用程序的正确解决方案。
答案 1 :(得分:0)
我通过在servle中插入这2个方法来解决我的问题:
@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 时,我会停止轮询调度程序。