나는 일정한 간격으로 n 개의 작업을 실행해야하는 요구 사항이 있습니다. 내가 작업을 실행하는 데 필요한 값을 포함하는 데이터베이스가 - 자바 및 Windows 플랫폼에 구성된 아파치 웹 서버가 있습니다.예정된 시간에 작업을 실행합니다. java, apache
누군가이 작업을 수행하는 데 나를 안내 할 수 있습니까?
나는 일정한 간격으로 n 개의 작업을 실행해야하는 요구 사항이 있습니다. 내가 작업을 실행하는 데 필요한 값을 포함하는 데이터베이스가 - 자바 및 Windows 플랫폼에 구성된 아파치 웹 서버가 있습니다.예정된 시간에 작업을 실행합니다. java, apache
누군가이 작업을 수행하는 데 나를 안내 할 수 있습니까?
이 용도로 Quartz api을 사용할 수 있습니다.
Quartz는 사용하기 쉽고 일정을 초기화하는 API입니다.
밀리 초 및 반복 작업으로 간단한 트리거를 사용하고 반복 간격을 설정할 수 있습니다. Advance Trigger CronTrigger는 똑같은 unix cron을 사용합니다. CronTrigger에서 우리는 하루를 정의하고 정의 할 수 있습니다. 수요일, 금요일, 매주, 매월 및 매년. 여기
는 간단한 서블릿web.xml을
<web-app>
<display-name>timer</display-name>
<servlet>
<servlet-name>InitializeServlet</servlet-name>
<servlet-class>com.cron.InitializeServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
</web-app>
InitializeServlet.java
package com.cron;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
public class InitializeServlet extends HttpServlet {
public void init() throws ServletException {
try {
System.out.println("Initializing NewsLetter PlugIn");
CronScheluder objPlugin = new CronScheluder();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
CronSchelude와 그것을
석영을 사용하는 방법을 설명하는 샘플 tutorial입니다 r.java
package com.cron;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;
public class CronScheluder {
public CronScheluder() throws Exception {
SchedulerFactory sf = new StdSchedulerFactory();
Scheduler sche = sf.getScheduler();
sche.start();
JobDetail jDetail = new JobDetail("Newsletter", "NJob", MyJob.class);
//"0 0 12 * * ?" Fire at 12pm (noon) every day
//"0/2 * * * * ?" Fire at every 2 seconds every day
CronTrigger crTrigger = new CronTrigger("cronTrigger", "NJob", "0/2 * * * * ?");
sche.scheduleJob(jDetail, crTrigger);
}
}
당신은을 통해이 작업을 수행 할 수 있습니다
package com.cron;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class MyJob implements Job {
public void execute(JobExecutionContext context)
throws JobExecutionException {
System.out.println("Cron executing ");
}
}
MyJob.java : wget을 또는 통해 응용 프로그램의 특정 URL을 요청합니다
또한 apache는 요구 사항과 관련이없는 것 같습니다.