我需要使用Quartz来管理我的各种任务。
基于Quartz的程序写好部署运行后,在系统运转过程中,还会增加很多新的任务。
这些新增加的任务,怎样注册到正在运行的程序中?因为Quartz是通过JobBuilder.newJob(XXX.class),写到代码中的。
客户会随时增加需求,我就要根据客户的需求,写相应的Job程序,这些新写出来的Job程序,怎么注册到正在运行的程序中?
我的意思是,在程序运行中,新增加一个job。
基于Quartz的程序写好部署运行后,在系统运转过程中,还会增加很多新的任务。
这些新增加的任务,怎样注册到正在运行的程序中?因为Quartz是通过JobBuilder.newJob(XXX.class),写到代码中的。
客户会随时增加需求,我就要根据客户的需求,写相应的Job程序,这些新写出来的Job程序,怎么注册到正在运行的程序中?
我的意思是,在程序运行中,新增加一个job。
解决方案 »
- 求助:添加jar包出问题。
- dos下jar压缩
- hibernate lazy 加载问题
- java线程问题?希望高手帮一下,我都弄了一天了,谢谢各位了
- 如何将发布到tomcat下的工程恢复成myEclipse工作区中的工程
- sos:毕业设计都变成了file***.chk,如何恢复为原文件?急!急!
- 高分求救!!!高手请进!!!如何用JCheckBox做JTree的节点实现多项选择???????
- 如何在JEditorPane中把选中的值放到内存中!!高手请进
- 线程问题,拜托各位大虾帮忙,小生有理了:)
- 我想马上开始scjd 我
- JavaSE
- java中ThreadLocal类,多个线程创建出同一个对象?
这个只是调度任务,但是问题的根源在于调度任务需要指定JOB的全类名,我是希望能调度按需求产生的job对象
是希望能调度按需求产生的job对象,指定全类名的话任务就要事先编程好了,应付不了需求。
但你没有透露更多我也无法知道你们不需要重启就能新增新的功能的实现方式
是希望能调度按需求产生的job对象,指定全类名的话任务就要事先编程好了,应付不了需求。
我具体的意思是,你需要新增job的时候把新开发jar包放在一个目录下,然后通过后门把jar包路径和类命传给jvm让他去动态加载这个新开发的jar包,然后通过传入的类名反射类注册到job里面去。
修改的话,也是通过SchedulerFactory 拿到scheduler,然后再修改里面的trigger ,listener,jobdetail之类的
2.Scheduler scheduler = sf.getScheduler();
3.JobDetail jobDetail = new JobDetail("SchedulerJob","run_manage",SchedulerJob.class);
4.Trigger trigger = CronTrigger(String name, String group, String cronExpression) ;
5.scheduler.scheduleJob(jobDetail, trigger);
JobDetail jobDetail = new JobDetail("jobName", "JOB_GROUP_NAME", Job.class);// 任务名,任务组,任务执行类
CronTrigger trigger = new CronTrigger("jobName", "JOB_GROUP_NAME");// 触发器名,触发器组
trigger.setCronExpression("time");// 触发器时间设定
sched.scheduleJob(jobDetail, trigger);
// 启动
if (!sched.isShutdown()) {
sched.start();
}