我現在在Linux Ubuntu上使用MySQL工作臺和NetBeans IDE,使用Java EE開發Web應用程序。通過MySQL工作臺向用戶發送電子郵件
現在我需要開發一個功能,允許每個用戶每週更新他們的數據,並檢查數據是每週更新。
如果數據在一週的最後一天沒有被插入或更新到MySQL工作臺,它將發送一封電子郵件通知用戶更新數據。
- 我該如何實現它?
- 需要使用哪些工具? MySQL Workbench或Netbean IDE?
- 什麼是代碼或任何教程指導?
謝謝。
我現在在Linux Ubuntu上使用MySQL工作臺和NetBeans IDE,使用Java EE開發Web應用程序。通過MySQL工作臺向用戶發送電子郵件
現在我需要開發一個功能,允許每個用戶每週更新他們的數據,並檢查數據是每週更新。
如果數據在一週的最後一天沒有被插入或更新到MySQL工作臺,它將發送一封電子郵件通知用戶更新數據。
謝謝。
你有幾種方法來做到這一點。我認爲你想做什麼樣的事情。
第一種方法是製作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
。我在Google
中發現了CronTab替代Windows Task Scheduler
。
感謝您的幫助,它的工作原理,如果我想指定在特定時間段每個星期五執行計劃? – helloworld1234
你使用哪種方式? WebListener或其他? –
第一種方法...... – helloworld1234