Java(cron4j)
・cronとは、多くのUNIX系OSで標準的に利用される常駐プログラム(デーモン)の一種で、利用者の設定したスケジュールに従って指定されたプログラムを定期的に起動してくれるもの。(*IT用語辞典参照)
jar
下記リンクからjarファイルをダウンロードしてIDEに設定しよう!!
https://www.sauronsoftware.it/projects/cron4j/download.php
Taskクラス
まず、実行したい処理を書くクラスを作ろう!!
CronTask
import java.util.Date;
public class CronTask implements Runnable{
@Override
public void run() {
System.out.println(new Date()+": Hiiiii! cron4j!");
}
}
Schedulerクラス
MyCronAppTest
import it.sauronsoftware.cron4j.Scheduler;
public class MyCronAppTest {
public static void main(String[] args) {
MyCronAppTest app = new MyCronAppTest();
try {
app.schedulerSimple();
System.out.println("Press Ctrl+C to stop.");
Thread.sleep(100000000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public void schedulerSimple() {
Scheduler scheduler = new Scheduler();
// every minute.
scheduler.schedule("* * * * *", new CronTask());
// start cron4j scheduler.
scheduler.start();
}
}
おまけ(Servletを使ったScheduler)
HelloServlet
import java.io.IOException;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import it.sauronsoftware.cron4j.Scheduler;
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void schedulerSimple() {
Scheduler scheduler = new Scheduler();
// every minute.
scheduler.schedule("* * * * *", new CronTask());
// start cron4j scheduler.
scheduler.start();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
MyCronApp app = new MyCronApp();
try {
app.schedulerSimple();
System.out.println("Press Ctrl+C to stop.");
Thread.sleep(100000000);
} catch (InterruptedException e) {
e.printStackTrace();
}
response.getWriter().append("Hello Servlet");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}