可以调用org.quartz.Scheduler.add(JobDetail,boolean)方法添加一个JobDetail,
不过需要注意的是,JobDetail需要设置原先JobDetail相同的JobKey,以及这个方法并没有绑定触发器Tigger,
所以在使用的时候需要在创建JobDetail方法中,添加属性,对Jobdetail持久化。
.storeDurably(true)
否则会报"Jobs added with no trigger must be durable."这个错,
这是因为Jobdetail的特性: Durability:如果一个job是非持久的,当没有活跃的trigger与之关联的时候,会被自动地从scheduler中删除。也就是说,非持久的job的生命期是由trigger的存在与否决定的,
创建Jobdetail方法示例:
JobDetail job = newJob(jobClass)
.withIdentity(detailName, groupName)
.usingJobData(new JobDataMap(dataMap))
.storeDurably(true)
.build();