问答详情
源自:2-6 SimpleTrigger

怎么重新传递jobdatamap参数

最近使用quartz做任务计划,有时需要将一些信息记录在jobDataMap中,情况如下,我的job已经注册到scheduler中并开始运行了,我在前台有些操作,想在后台代码中去修改jobDataMap,但这段代码不是job的execute方法去完成的,而是我的Action直接获得这个job的jobDataMap去操作,代码如下: this.scheduler.getJobDetail(jobName, jobGroup).getJobDataMap().put("planStatus", planStatus); 我想在我下次的操作中获得到他,当然我指的是自己在Action中去手动的得到这个jobDataMap,然后再jobDataMap.get("planStatus")取出,jobDataMap只是为我的Action操作充当了一个持久化保存的角色。但是我却发现后来去取planStatus时,始终无法取到,jobDataMap中没有这个数据。。请问如何解决呢?? 附,使用job,和StatefulJob好像都不行。。。StatefulJob只在job的execute方法中执行才能存储jobDataMap的值。

提问者:慕粉1612004826 2017-09-30 15:28

个回答

  • tlojy
    2017-10-25 15:04:19

    我在Scheduler里没找到如下方法啊?
    this.scheduler.getJobDetail(jobName, jobGroup)


  • 风霜天涯
    2017-10-18 15:48:12

    课程上使用在job实现类中设置jobDateMap同名的key作为属性并用getter|setter方法操作jobDateMap参数

    //img1.sycdn.imooc.com/59e707370001fc3410730623.jpg