首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2012-09-16 
Quartz作业调度中Job初始化的问题使用Quartz,创建JobDetail时是这样的:Java codeJobDetail jobDetail Jo

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

热点排行
Bad Request.