Java 禁用在tomcat启动时运行调度程序
我有一个时间表,每天在特定时间安排电子邮件服务。我扩展了Java 禁用在tomcat启动时运行调度程序,java,tomcat,servlets,Java,Tomcat,Servlets,我有一个时间表,每天在特定时间安排电子邮件服务。我扩展了HttPServlet,并在init()方法中调用运行调度的方法 当服务器重新启动时,它会触发计划程序,并在每次服务器重新启动时发送电子邮件,同时它也会在选定的时间被触发 是否有不同的方法来禁用在服务器启动时运行调度程序 public class BatchJobsServlet extends HttpServlet { public void init(ServletConfig arg0) throws Servlet
HttPServlet
,并在init()
方法中调用运行调度的方法
当服务器重新启动时,它会触发计划程序,并在每次服务器重新启动时发送电子邮件,同时它也会在选定的时间被触发
是否有不同的方法来禁用在服务器启动时运行调度程序
public class BatchJobsServlet extends HttpServlet {
public void init(ServletConfig arg0) throws ServletException {
super.init(arg0);
/**
* TODO Assign to single node on server for Batch Processing
*/
if(isBatchServer()) {
initDailyBatch();
}
try {
//
} catch(Exception e) {
e.printStackTrace();
}
initDailyBatch();
}
private void initDailyBatch() {
try {
//Code to set the timer and trigger the scheduler
}
} catch(Exception e) {
}
}
}
在web.xml中
<servlet>
<display-name>BatchJobsServlet </display-name>
<servlet-name>BatchJobsServlet </servlet-name>
<servlet-class>...BatchJobsServlet </servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
批作业服务器
批作业服务器
…批量作业服务器
1.
您可以记录上次发送邮件的时间,并在每次init()
调用(重新启动)后检查是否是发送邮件的时间
更好的解决方案允许本机服务这样做,例如cron
,只需cron调用本地应用程序,该应用程序将触发servlet(通过调用路径和授权令牌)