With the help of the Scheduler Quartz Component generic Blueriq jobs can be scheduled unscheduled or rescheduled. This jobs does not need to have knowledge about the specific job scheduler used (in our case about Quartz), they only need to implement the scheduling interfaces defined in Blueriq. This interfaces and the how the jobs should be implemented and scheduled are detailed below.
Creating custom jobs
A custom jobs should implement in both Java and .Net the IJob Blueriq interface. The execute(IExecutionContext context) method defined in the IJob interface is going to be executed when the job is executed. The job's scheduler and the job's parameters can be accessed from the execution context: context.getParameters() andcontext.getScheduler().
Example
The Blueriq scheduler when executes the job looks for an object with the scheduled job's type in the application context. As a consequence at execution a bean of the scheduled job type should be available in the application context.
@Component
public class MyJob implements IJob {
@Override
public void execute(IExecutionContext context) {
IJobParamters paramters = context.getParameters();
IScheduler scheduler = context.getScheduler();
}
}
//TODO update where the .NET job should be be available
public class TestJob : BQ.IJob
{
public void execute(BQ.IExecutionContext context)
{
BQ.IJobParamters parameters = context.getParameters();
BQ.IScheduler scheduler = context.getScheduler();
}
}
Scheduling, unscheduling and rescheduling custom jobs
Scheduling custom jobs
Fpr scheduling custom jobs the the SpringQuartzScheduler from the
@Component
public class MyJob implements IJob {
@Override
public void execute(IExecutionContext context) {
IJobParamters paramters = context.getParameters();
IScheduler scheduler = context.getScheduler();
}
}
//TODO update where the .NET job should be be available
public class TestJob : BQ.IJob
{
public void execute(BQ.IExecutionContext context)
{
BQ.IJobParamters parameters = context.getParameters();
BQ.IScheduler scheduler = context.getScheduler();
}
}