1. Chào mừng Khách đã đến với diễn đàn java, nơi hội tụ tất cả những kỹ năng trong lập trình, chia sẻ những kinh nghiệm, bài viết, quý báu. Các bạn chỉ post bài về lập trình trong forum này. Xin Cảm Ơn!
    Dismiss Notice
  2. Trung Tâm Java - Chuyên sâu lĩnh vực đào tạo lập trình viên Java kinh nghiệm thực tế trong công việc. tìm hiểu thêm tại http://trungtamjava.com/
    Dismiss Notice

Ví dụ Java Quartz 1.6

Thảo luận trong 'Quartz' bắt đầu bởi java, 3/11/16.

  1. java

    java Member

    - Quartz là một framework rất mạnh mẽ và tuỳ biến cao, giúp các lập trình viên java lên lịch vào ngày giờ xác định để chạy một chương trình định sẵn.
    - Trong ví dụ này ta sử dụng Quartz 1.6.3, maven project

    1. Maven pom.xml
    Mã:
    <dependencies>
    
        <!-- Quartz API -->
        <dependency>
            <groupId>opensymphony</groupId>
            <artifactId>quartz</artifactId>
            <version>1.6.3</version>
        </dependency>
    
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2.1</version>
        </dependency>
    
        <dependency>
            <groupId>org.apache.directory.studio</groupId>
            <artifactId>org.apache.commons.logging</artifactId>
            <version>1.1.1</version>
        </dependency>
    
    </dependencies>
    2. Quartz Job
    - Tạo một class gọi là job
    PHP:
    package com.diendanjava;

    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!");

        }

    }
    3. Quartz Trigger
    - Tạo một quartz trigger
    - Có 2 loại trigger bạn có thể sử dụng:
    • SimpleTrigger – Cho phép thiết lập thời gian bắt đầu, kết thúc, lặp lại, hoặc thời gian cố định.
    • CronTrigger – Sử dụng Unix cron expression để chỉ ra ngày giờ chạy một chương trình.
    SimpleTrigger – Chạy lại sau 30 giây.
    PHP:
    SimpleTrigger trigger = new SimpleTrigger();
    trigger.setName("dummyTriggerName");
    trigger.setStartTime(new Date(System.currentTimeMillis() + 1000));
    trigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
    trigger.setRepeatInterval(30000);
    CronTrigger – Chạy lại sau 30 giây.
    PHP:
    CronTrigger trigger = new CronTrigger();
    trigger.setName("dummyTriggerName");
    trigger.setCronExpression("0/30 * * * * ?");
    Xem thêm bảng cron ở đây nhé

    4. Scheduler
    - Tạo một scheduler để kết nối job và trigger cho việc chạy
    PHP:
    Scheduler scheduler = new StdSchedulerFactory().getScheduler();
    scheduler.start();
    scheduler.scheduleJob(jobtrigger);
    5. Chạy chương trình
    - Simple Trigger
    PHP:
    package com.diendanjava;

    import java.util.Date;

    import org.quartz.JobDetail;
    import org.quartz.Scheduler;
    import org.quartz.SimpleTrigger;
    import org.quartz.impl.StdSchedulerFactory;

    public class 
    SimpleTriggerExample
    {
        public static 
    void mainString[] args throws Exception
        
    {
               
    JobDetail job = new JobDetail();
            
    job.setName("dummyJobName");
            
    job.setJobClass(HelloJob.class);

            
    //configure the scheduler time
            
    SimpleTrigger trigger = new SimpleTrigger();
            
    trigger.setStartTime(new Date(System.currentTimeMillis() + 1000));
            
    trigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
            
    trigger.setRepeatInterval(30000);

            
    //schedule it
            
    Scheduler scheduler = new StdSchedulerFactory().getScheduler();
            
    scheduler.start();
            
    scheduler.scheduleJob(jobtrigger);

        }
    }
    - Cron Trigger
    PHP:
    package com.diendanjava;

    import org.quartz.CronTrigger;
    import org.quartz.JobDetail;
    import org.quartz.Scheduler;
    import org.quartz.impl.StdSchedulerFactory;

    public class 
    CronTriggerExample
    {
        public static 
    void mainString[] args throws Exception
        
    {

            
    JobDetail job = new JobDetail();
            
    job.setName("dummyJobName");
            
    job.setJobClass(HelloJob.class);

            
    CronTrigger trigger = new CronTrigger();
            
    trigger.setName("dummyTriggerName");
            
    trigger.setCronExpression("0/30 * * * * ?");

            
    //schedule it
            
    Scheduler scheduler = new StdSchedulerFactory().getScheduler();
            
    scheduler.start();
            
    scheduler.scheduleJob(jobtrigger);

        }
    }
     

Chia sẻ trang này