2016-09-30 63 views
1

我現在在Linux Ubuntu上使用MySQL工作臺和NetBeans IDE,使用Java EE開發Web應用程序。通過MySQL工作臺向用戶發送電子郵件

現在我需要開發一個功能,允許每個用戶每週更新他們的數據,並檢查數據是每週更新。

如果數據在一週的最後一天沒有被插入或更新到MySQL工作臺,它將發送一封電子郵件通知用戶更新數據。

  1. 我該如何實現它?
  2. 需要使用哪些工具? MySQL Workbench或Netbean IDE?
  3. 什麼是代碼或任何教程指導?

謝謝。

回答

1

你有幾種方法來做到這一點。我認爲你想做什麼樣的事情。

第一種方法是製作java code。使用@WebListenerThreads。它是純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

+0

感謝您的幫助,它的工作原理,如果我想指定在特定時間段每個星期五執行計劃? – helloworld1234

+0

你使用哪種方式? WebListener或其他? –

+0

第一種方法...... – helloworld1234