0

我需要创建一个服务来安排基本上是获取命中某个 servlet 的请求的作业。我尝试使用基于这篇文章的 servlet 上下文侦听器来执行此操作,在 Tomcat 中运行后台 Java 程序,但是定义的 web.xml 更改导致 Tomcat 服务器上出现 404 错误。有没有人对如何做到这一点有任何其他建议?

我此时的一个想法是定义一个可运行的 servlet

public class Service extends HttpServlet implements Runnable    {
     //Does stuff
     init()  {
         new Thread(this);
     }
}

这是一个合理的方法吗?

4

1 回答 1

0

您可以考虑使用石英调度程序进行作业:

http://quartz-scheduler.org/

例如(不特定于您的任务):

import java.util.Map;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class SchedulerJob implements Job
{
  public void execute(JobExecutionContext context)
  throws JobExecutionException {

    Map dataMap = context.getJobDetail().getJobDataMap();
    SchedulerTask task = (SchedulerTask)dataMap.get("schedulerTask");
    task.printSchedulerMessage();
  }
}

另一种选择(快速周转)是根据您的操作系统仅使用 cron 作业或 Windows 任务管理器。

于 2012-07-24T01:02:30.460 回答