当前位置: 代码迷 >> J2SE >> Quartz作业调度中Job初始化的有关问题
  详细解决方案

Quartz作业调度中Job初始化的有关问题

热度:9661   发布时间:2013-02-25 00:00:00.0
Quartz作业调度中Job初始化的问题
使用Quartz,创建JobDetail时是这样的:
Java code
JobDetail jobDetail = JobBuilder.newJob(SimpleJob.class).withIdentity("Job1", "JobGroup1").build();

老版本的Quartz里面是这样的
Java code
JobDetail jobDetail = new JobDetail("job1","jGroup1", SimpleJob.class);


这边就碰到一个问题,SimpleJob实现了Quartz的Job接口,SimpleJob初始化的时候是通过JobBuilder.newJob(SimpleJob.class)或者new JobDetail("job1","jGroup1", SimpleJob.class)这种反射的初始化方式来的。

我的SimpleJob还有构造函数,每次触发前有好多属性需要set()一下。

请问,这种问题怎么解决?

------解决方案--------------------------------------------------------
你所说的属性,是不是就是JOB运行需要的参数啊,我一般是在JobDetail定义是PUT在JobDataMap中
Java code
        collectJobDetail = new JobDetail("JOB_"+objId, Scheduler.DEFAULT_GROUP,jobClass);        collectJobDetail.getJobDataMap().put("hostIp",hostIp);        collectJobDetail.getJobDataMap().put("port",port);        Trigger trigger = TriggerUtils.makeMinutelyTrigger(minuteInterval);    trigger.setName("JOB_Trigger_"+objId);    trigger.setStartTime(new Date());    quartzScheduler.scheduleJob(collectJobDetail,trigger);
  相关解决方案