我现在正在Linux Ubuntu上使用MySQL workbench和NetBeans IDE,使用Java EE开发Web应用程序。
现在我需要开发一个功能,允许每个用户每周更新一次数据,并检查数据是否每周更新。
如果数据未在一周的最后一天插入或更新到MySQL工作台,它将发送电子邮件通知用户更新数据。
感谢。
答案 0 :(得分:1)
你有几种方法可以做到这一点。我想你想做调度任务。
第一种方式是java code
。使用@WebListener
和Threads
。它是纯java库。你也可以使用Quartz Schedular
,但我更喜欢java自己的库。
MyTaskScheduler.class
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
@WebListener
public class MyTaskScheduler implements ServletContextListener {
private ScheduledExecutorService scheduler;
@Override
public void contextInitialized(ServletContextEvent sce) {
scheduler = Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleWithFixedDelay(new MyRunnable (), 0, 10, TimeUnit.SECONDS); // Here you can change timeOut and delay.
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
scheduler.shutdownNow();
}
}
MyRunnable.class
public class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("Runnable RUN");
}
}
第二种方法是创建SimpleJavaApplication并使用操作系统的功能。
在Windows中
您可以使用TaskSchedular:Windows Task Scheduler using guide
在Linux中
您可以使用CronTab:CronTab using guide
您必须为任何timePeriod创建任务以运行此simpleApplication。
我必须注意到这一点。我从不使用CronTab
。我在Windows Task Scheduler
中找到了Google
的CronTab替代品。