通过MySQL工作台向用户发送电子邮件

时间:2016-09-30 06:59:21

标签: mysql java-ee netbeans mysql-workbench

我现在正在Linux Ubuntu上使用MySQL workbench和NetBeans IDE,使用Java EE开发Web应用程序。

现在我需要开发一个功能,允许每个用户每周更新一次数据,并检查数据是否每周更新。

如果数据未在一周的最后一天插入或更新到MySQL工作台,它将发送电子邮件通知用户更新数据。

  1. 我怎样才能实现它?
  2. 需要使用哪些工具? MySQL Workbench或Netbean IDE?
  3. 什么是代码或任何指导教程?
  4. 感谢。

1 个答案:

答案 0 :(得分: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。我在Windows Task Scheduler中找到了Google的CronTab替代品。

相关问题