Quartz Scheduler is an open source job scheduling service for your Java EE or Java SE.
Every task cannot be done manually but some task like notification or important alerts have to perform based on time and date.
In this article you will learn how to write EJB Timer for your Enterprise applications.
CronJob.java - CronJob is used to execute the method for the given interval period
package com.demo;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
//CronJob implements the Job interface - Add Quartz jar into your project build path
public class CronJob implements Job {
public void execute(JobExecutionContext arg0) throws JobExecutionException {
// Your Code Here
System.out.println("Technology Innovation ");
}
}
package com.demo;
import java.util.TimeZone;
import javax.annotation.PostConstruct;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import org.quartz.CronExpression;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;
@Singleton
@Startup
public class CronEJB implements CronEJBRemote {
@PostConstruct
public void startCron() {
try {
JobDetail jd = new JobDetail("job", "group", CronJob.class);
//CronExpression - i have set interval for every one minute but you can refer wikipedia //to see the different kind of intervals
CronExpression cronExpression = new CronExpression("1 * * * * ?");
//Time for region
cronExpression.setTimeZone(TimeZone.getTimeZone("Asia/Riyadh"));
CronTrigger ct = new CronTrigger("cronTrigger", "group");
ct.setCronExpression(cronExpression);
//Schduler factory begins
SchedulerFactory sf = new StdSchedulerFactory();
Scheduler schedle = sf.getScheduler();
schedle.scheduleJob(jd, ct);
schedle.start();
} catch (Exception e) {
System.out.println(e);
}
}
}
package com.demo;
import javax.ejb.Remote;
@Remote
public interface CronEJBRemote {
public void startCron();
}
Deploy your project and start the server. Based on your CronExpression interval your methods executes automatically.
Thanks for the open source scheduler - Quartz
Every task cannot be done manually but some task like notification or important alerts have to perform based on time and date.
In this article you will learn how to write EJB Timer for your Enterprise applications.
CronJob.java - CronJob is used to execute the method for the given interval period
package com.demo;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
//CronJob implements the Job interface - Add Quartz jar into your project build path
public class CronJob implements Job {
public void execute(JobExecutionContext arg0) throws JobExecutionException {
// Your Code Here
System.out.println("Technology Innovation ");
}
}
CronEJB.java - is used to set the scheduler time, date and time based region
package com.demo;
import java.util.TimeZone;
import javax.annotation.PostConstruct;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import org.quartz.CronExpression;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;
@Singleton
@Startup
public class CronEJB implements CronEJBRemote {
@PostConstruct
public void startCron() {
try {
JobDetail jd = new JobDetail("job", "group", CronJob.class);
//CronExpression - i have set interval for every one minute but you can refer wikipedia //to see the different kind of intervals
CronExpression cronExpression = new CronExpression("1 * * * * ?");
//Time for region
cronExpression.setTimeZone(TimeZone.getTimeZone("Asia/Riyadh"));
CronTrigger ct = new CronTrigger("cronTrigger", "group");
ct.setCronExpression(cronExpression);
//Schduler factory begins
SchedulerFactory sf = new StdSchedulerFactory();
Scheduler schedle = sf.getScheduler();
schedle.scheduleJob(jd, ct);
schedle.start();
} catch (Exception e) {
System.out.println(e);
}
}
}
CronEJBRemote.java
package com.demo;
import javax.ejb.Remote;
@Remote
public interface CronEJBRemote {
public void startCron();
}
Deploy your project and start the server. Based on your CronExpression interval your methods executes automatically.
Thanks for the open source scheduler - Quartz
Comments
Post a Comment