Friday, June 21, 2013

Quartz Scheduler with JobListener

JobListener is used to keep track of the running jobs status, like when the job is started and when it is about to be completed!!

image

1. Create a Quartz Job:

package com.tutorial.quartz;

import org.quartz.Job;

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

public class HelloJob implements Job

{

public void execute(JobExecutionContext context)

throws JobExecutionException {

System.out.println("Hello Quartz Scheduler with Job Listener !!!");

}

}

Project Workspace: Overview

clip_image004

 

2. Create a Job Listener:

package com.tutorial.quartz;

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

import org.quartz.JobListener;

public class HelloJobListener implements JobListener {

public static final String LISTENER_NAME = "sampleJobListenerName";

@Override

public String getName() {

return LISTENER_NAME;

}

@Override

public void jobToBeExecuted(JobExecutionContext context) {

System.out.println(context.getJobDetail().getKey().toString() + " Job is Started!!");

}

@Override

public void jobExecutionVetoed(JobExecutionContext context) {

System.out.println(context.getJobDetail().getKey().toString() + " Job is Terminated!!");

}

@Override

public void jobWasExecuted(JobExecutionContext context,

JobExecutionException jobException) {

System.out.println(context.getJobDetail().getKey().toString() + " Job execution Completed!!");

if (!jobException.getMessage().equals("")) {

System.out.println("Exception thrown by: " + context.getJobDetail().getKey().toString()

+ " Exception: " + jobException.getMessage());

}

}

}

3. Create JobKey, Trigger and Scheduler:

package com.tutorial.quartz;

import org.quartz.JobBuilder;

import org.quartz.JobDetail;

import org.quartz.JobKey;

import org.quartz.Scheduler;

import org.quartz.SimpleScheduleBuilder;

import org.quartz.Trigger;

import org.quartz.TriggerBuilder;

import org.quartz.impl.StdSchedulerFactory;

import org.quartz.impl.matchers.KeyMatcher;

public class SimpleTrigger {

public static void main(String[] args) throws Exception {

//Create a JobKey

JobKey jobKey = new JobKey("sampleJobName", "group1");

// Create a Job

JobDetail job = JobBuilder.newJob(HelloJob.class)

.withIdentity("sampleJobName", "group1").build();

// Trigger the job

Trigger trigger = TriggerBuilder

.newTrigger()

.withIdentity("sampleTriggerName", "group1")

.withSchedule(

SimpleScheduleBuilder.simpleSchedule()

.withIntervalInSeconds(5).repeatForever())

.build();

// Schedule the Job

Scheduler scheduler = new StdSchedulerFactory().getScheduler();

//Listener attached to the jobKey

scheduler.getListenerManager().addJobListener(

new HelloJobListener(), KeyMatcher.keyEquals(jobKey));

scheduler.start();

scheduler.scheduleJob(job, trigger);

}

}

Output:

clip_image006

References:

http://quartz-scheduler.org/documentation/quartz-2.1.x/cookbook/JobListeners

1 comment:

  1. đồng tâm
    game mu
    cho thuê nhà trọ
    cho thuê phòng trọ
    nhac san cuc manh
    số điện thoại tư vấn pháp luật miễn phí
    văn phòng luật
    tổng đài tư vấn pháp luật
    dịch vụ thành lập công ty trọn gói
    64 nước cờ trên bàn thương lượng ebook
    mbp là gì
    thuyết erg
    các nghịch lý nổi tiếng
    chi square test là gì
    nghệ thuật nói chuyện trước công chúng dale carnegie
    định lý coase
    học thuyết kỳ vọng của victor vroom
    chiến thắng con quỷ trong bạn audio
    điểm cân bằng nash

    - Hừ! Ai mà tin được chứ?
    Hàn Đông kiêu kỳ nguýt, tuy rằng không quá tin lời của Triệu Quốc Đống nhưng lời này của hắn vẫn khiến trong lòng Hàn Đông thoải mái không ít, nhất là nhìn thấy Triệu Quốc Đống đi có một mình thì tâm tình của cô vui sướng rất nhiều.
    Vốn trong hệ thống ngành nghề có rất nhiều nhân tài kiệt xuất cũng đều bị cuốn vào trong cơn cuồng phong bất thình lình này. Hàng trăm triệu đồng đổ vào không thấy tiền lời mà ngược lại còn có khả năng không thu hồi được vốn gốc. Lúc ấy đám lãnh đạo lòng như lửa đốt nên tự nhiên là thúc giục người
    liên quan đi thu hồi các khoản tiền. Một số lượng lớn lãnh đạo bị liên lụy là điều không thể tránh được, chỉ có riêng Trịnh Kiện đạt thành tích xuất sắc trong cơn mưa gió này nên được chi nhánh ngân hàng đề bạt trọng dụng cũng là chuyện hợp tình hợp lý.

    - Quốc Đống, tôi nghe ý của cậu nói là quốc gia sẽ thành lập ngân hàng chính sách. Không biết cậu hiểu như thế nào về vấn đề này?
    Lôi Hướng Đông hiển nhiên rất quan tâm tới sự chuyển động của chính sách.

    - Một đạo lý rất đơn giản. Nếu bốn ngân hàng chuyên nghiệp cùng đồng thời cho vay mang tính thương mại mà vẫn cho vay chính sách như trước. Loại cho vay này thì chúng ta đều biết khả năng hoàn lại là rất nhỏ. Như vậy bọn họ vĩnh viễn không thể trở thành ngân hàng thương mại chân chính.
    Triệu Quốc Đống chậm rãi nói, từ sách vở hiện tại kết hợp với giấc mơ hắn đã có thể suy nghĩ ra không ít đạo lý.

    - Chỉ có để quốc gia thành lập riêng ngân hàng chính sách để gánh vác chỉ thị cho vay chính sách của quốc gia thì ngân hàng thương mại mới hoàn toàn có thể tự mình kinh doanh vì mục đích hiệu quả và lợi ích, từ đó ngân hàng thương mại mới có thể từ từ ra khỏi bóng tối. Trên thực tế Lôi ca chắc cũng hiểu, tài sản xấu của ngân hàng quốc nội chúng ta nhiều như thế nào? So với những ngân hàng nước ngoài đồng dạng thì bình thường các khoản vay xấu đều cao hơn bọn họ gấp mười lần. Đối với một ngân hàng thương mại thuần túy mà nói thì chỉ cần nghe nói cũng đã kinh sợ chứ đừng nói là có thể làm.

    ReplyDelete