Java调度服务
我需要做一个服务来调度基本上是获取命中某个servlet的请求的作业。我试图在本文的基础上使用servlet上下文侦听器来实现这一点,但是定义的web.xml更改在Tomcat服务器上导致了404个错误。有人对如何实现这一点有其他建议吗 现在我的一个想法是定义一个可运行的servletJava调度服务,java,jakarta-ee,scheduled-tasks,Java,Jakarta Ee,Scheduled Tasks,我需要做一个服务来调度基本上是获取命中某个servlet的请求的作业。我试图在本文的基础上使用servlet上下文侦听器来实现这一点,但是定义的web.xml更改在Tomcat服务器上导致了404个错误。有人对如何实现这一点有其他建议吗 现在我的一个想法是定义一个可运行的servlet public class Service extends HttpServlet implements Runnable { //Does stuff init() {
public class Service extends HttpServlet implements Runnable {
//Does stuff
init() {
new Thread(this);
}
}
这是一种合理的方法吗?您可以研究在作业中使用quartz scheduler:
http://quartz-scheduler.org/
例如(不特定于您的任务):
另一种选择(快速循环)是根据您的操作系统使用cron作业或windows任务管理器
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();
}
}