JobDetail获取Job的属性信息

Job实例是实现了Job接口的类,只覆写一个execute执行方法。JobDetail为Job实例提供了许多设置属性,一级JobDataMap成员属性,它用来存储特定Job实例的状态信息,调度器需要借助JobDetail对象添加Job实例。
Job的生命周期:每次调度完job时,在执行execute方法之前创建新的job实例;当调用完成后,job实例对象会被垃圾回收。

以Hello World 的Job为例

public class HelloJob implements Job {

    public void execute(JobExecutionContext arg0) throws JobExecutionException {
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(sf.format(new Date()));
        System.out.println("This is hello job……");
    }

}

获取Job实例的属性信息

public class TestHelloJob 
{
    public static void main( String[] args ) throws SchedulerException
    {
        /*创建JobDetail实例,并与HelloJob绑定;Job的名字是myjob,隶属于job_group组*/
        JobDetail jobDetail = JobBuilder.newJob(HelloJob.class)
                .withIdentity("myjob", "job_group")
                .build();

        /*获取Job的属性*/
        System.out.println("jobDetail's name : " + jobDetail.getKey().getName());
        System.out.println("jobDetail's group : " + jobDetail.getKey().getGroup());
        System.out.println("jobDetail's jobclass : " + jobDetail.getJobClass().getName());

        /*创建Trriger实例,指定Job每隔3秒钟执行一次*/
        Trigger trigger = TriggerBuilder.newTrigger()
                .withIdentity("mytrigger", "trigger_group")
                .startNow()
                .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                        .withIntervalInSeconds(3)
                        .repeatForever())
                .build();

        /*创建SchedulerFactory实例,把jobDetail与trigger绑定在一起*/
        SchedulerFactory factory = new StdSchedulerFactory();
        Scheduler scheduler = factory.getScheduler();
        scheduler.start();
        scheduler.scheduleJob(jobDetail, trigger);

    }
}

运行测试方法,,输出

jobDetail's name : myjob
jobDetail's group : job_group
jobDetail's jobclass : com.lzj.quartz.Demo.HelloJob
--------------------------------------------
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2018-04-01 17:33:02
This is hello job……
2018-04-01 17:33:05
This is hello job……
2018-04-01 17:33:08
This is hello job……
2018-04-01 17:33:11
This is hello job……

获取的Hello World 的Job的部分属性为

jobDetail's name : myjob
jobDetail's group : job_group
jobDetail's jobclass : com.lzj.quartz.Demo.HelloJob
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值