0

我目前正在为一个程序开发一个 servlet 的项目。

此 servlet 不侦听请求,而是希望它在后台运行并每 10 秒执行一次。

Thread.sleep(10000);用来完成这个。

让这个 servlet 每 10 秒执行一次,同时允许其他进程运行的最佳方法是什么?

4

2 回答 2

0

You could use a SingleThreadPool and execute it using a QuartzScheduler. So you can change how often you want it to execute by changin only the configuration file. Your thread becames a job, you can assign priority, etc.

Here is documentation to read:

  1. Scheduling and Thread Pooling
  2. what is Quartz
  3. ...and a tutorial on Quartz.
于 2013-03-19T16:43:28.467 回答
0

不要为此使用 servlet。它不会对您可靠地工作,因为 servlet 是专门为响应请求而设计的。相反,使用ServletContextInitializer安排 TimerTask执行您的后台工作。

于 2013-03-20T03:09:13.087 回答