【发布时间】:2009-09-01 09:03:22
【问题描述】:
我在应用服务器方面的经验仅限于一些基本的 servlet 编码,所以我什至不确定如何恰当地提出这个问题。
我需要写一个java程序,运行在(java)应用服务器上,不断执行某个方法(它会检查某个目录下的文件)。
我找到了一种安排应用程序启动的方法,但需要知道将通常放在常规 java 程序的 main() 方法中的代码放在哪里。
【问题讨论】:
标签: java
我在应用服务器方面的经验仅限于一些基本的 servlet 编码,所以我什至不确定如何恰当地提出这个问题。
我需要写一个java程序,运行在(java)应用服务器上,不断执行某个方法(它会检查某个目录下的文件)。
我找到了一种安排应用程序启动的方法,但需要知道将通常放在常规 java 程序的 main() 方法中的代码放在哪里。
【问题讨论】:
标签: java
不直接回答您的问题,但请查看可能有用的 Spring Batch。
【讨论】:
您可以使用Quartz 或EJB timer service(如果您可以学习EJB)来完成此任务。
如果您只有一个像 Tomcat 这样的 servlet 容器,最好使用 Quartz。其实Quartz也自带了web application to monitor a scheduler。
另一方面,EJB 计时器服务在所有支持 EJB 2.1 及更高版本的 EJB 容器中都可用。
【讨论】:
看看 servlet 事件监听器。
我认为您应该能够使用 ServletContextListener 挂钩您的代码。
【讨论】:
这样做的一种方法是编写一个实现 ServletContextListener 的侦听器,然后在 contextInitialized 方法中编写您的计时器
【讨论】: