我需要创建一个服务来安排基本上获取命令的作业。我尝试使用基于此帖Running a background Java program in Tomcat的servlet上下文侦听器来执行此操作,但是已定义的web.xml更改导致Tomcat服务器上出现404错误。有没有人对如何做到这一点有任何其他建议?
我现在的一个想法是定义一个可运行的servlet
public class Service extends HttpServlet implements Runnable {
//Does stuff
init() {
new Thread(this);
}
}
这是一种合理的方法吗?
答案 0 :(得分: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();
}
}
另一个选择(快速turaround)是根据您的操作系统使用cron作业或Windows任务管理器。