任务调度器quartz与ssh框架的Web交互配置
2011-02-24 15:18
357 查看
在网上很多关于quartz的配置的,很多实例的任务都是固定的,特别是执行时间,不能满足系统的正常的需要.通过调研,解决了ssh页面和quartz交互的问题。quartz连接数据和spring连接数据库独立起来,spring连接hibernate配置的数据库,quartz连接quartz.properties配置的数据。
步骤如下:
(1)将quartz所需要的12张数据库表导入数据库
qrtz_calendars;
qrtz_fired_triggers;
qrtz_trigger_listeners;
qrtz_blob_triggers;
qrtz_cron_triggers;
qrtz_simple_triggers;
qrtz_triggers;
qrtz_job_listeners;
qrtz_job_details;
qrtz_paused_trigger_grps;
qrtz_locks;
qrtz_scheduler_state;
下载quartz所有的包,quartz-1.8.3.tar.gz,里面包含quartz所有的包和各种数据库的SQL
(2)配置quartz.properties配置,此文件要放到项目工程的classes文件下
可以根据直接需要,简单oracle数据库的配置如下:
#============================================================================
# Configure Main Scheduler Properties
#============================================================================
org.quartz.scheduler.instanceName = DefaultQuartzScheduler
org.quartz.scheduler.instanceId= AUTO
org.quartz.scheduler.rmi.export = false
org.quartz.scheduler.rmi.proxy = false
org.quartz.scheduler.wrapJobExecutionInUserTransaction = false
#============================================================================
# Configure ThreadPool
#============================================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 10
org.quartz.threadPool.threadPriority = 5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true
#============================================================================
# Configure JobStore
#============================================================================
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
org.quartz.jobStore.useProperties =false
org.quartz.jobStore.dataSource=test
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.isClustered = false
org.quartz.jobStore.misfireThreshold = 10000
org.quartz.jobStore.clusterCheckinInterval =20000
#============================================================================
# Configure datastource
#============================================================================
org.quartz.dataSource.test.driver = oracle.jdbc.driver.OracleDriver
org.quartz.dataSource.test.URL = jdbc/:oracle/:thin/:@IP/:1521/:test
org.quartz.dataSource.test.user =test
org.quartz.dataSource.test.password =test
org.quartz.dataSource.test.maxConnections=500
(3)获取quartz的任务实例
scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
任务实例提供很多方法:
scheduler.scheduleJob(jobDetail,trigger); //添加任务
scheduler.rescheduleJob(trigger.getName(), trigger.getGroup(),trigger); //修改任务
当数据库中有此任务时,用此方法重新修改,如果用scheduleJob(jobDetail,trigger)则报错
scheduler.pauseTrigger(taskId, triggerGroup);//暂停触发器
scheduler.pauseJob(taskId, jobGroup);//暂停job
scheduler.unscheduleJob(taskId, triggerGroup);//删除触发器,删除前先暂停此触发器
scheduler.deleteJob(taskId, jobGroup);//删除job,删除前要先暂停此JOB
如有问题或疑问,可以加QQ:1062595510;非诚勿扰
步骤如下:
(1)将quartz所需要的12张数据库表导入数据库
qrtz_calendars;
qrtz_fired_triggers;
qrtz_trigger_listeners;
qrtz_blob_triggers;
qrtz_cron_triggers;
qrtz_simple_triggers;
qrtz_triggers;
qrtz_job_listeners;
qrtz_job_details;
qrtz_paused_trigger_grps;
qrtz_locks;
qrtz_scheduler_state;
下载quartz所有的包,quartz-1.8.3.tar.gz,里面包含quartz所有的包和各种数据库的SQL
(2)配置quartz.properties配置,此文件要放到项目工程的classes文件下
可以根据直接需要,简单oracle数据库的配置如下:
#============================================================================
# Configure Main Scheduler Properties
#============================================================================
org.quartz.scheduler.instanceName = DefaultQuartzScheduler
org.quartz.scheduler.instanceId= AUTO
org.quartz.scheduler.rmi.export = false
org.quartz.scheduler.rmi.proxy = false
org.quartz.scheduler.wrapJobExecutionInUserTransaction = false
#============================================================================
# Configure ThreadPool
#============================================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 10
org.quartz.threadPool.threadPriority = 5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true
#============================================================================
# Configure JobStore
#============================================================================
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
org.quartz.jobStore.useProperties =false
org.quartz.jobStore.dataSource=test
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.isClustered = false
org.quartz.jobStore.misfireThreshold = 10000
org.quartz.jobStore.clusterCheckinInterval =20000
#============================================================================
# Configure datastource
#============================================================================
org.quartz.dataSource.test.driver = oracle.jdbc.driver.OracleDriver
org.quartz.dataSource.test.URL = jdbc/:oracle/:thin/:@IP/:1521/:test
org.quartz.dataSource.test.user =test
org.quartz.dataSource.test.password =test
org.quartz.dataSource.test.maxConnections=500
(3)获取quartz的任务实例
scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
任务实例提供很多方法:
scheduler.scheduleJob(jobDetail,trigger); //添加任务
scheduler.rescheduleJob(trigger.getName(), trigger.getGroup(),trigger); //修改任务
当数据库中有此任务时,用此方法重新修改,如果用scheduleJob(jobDetail,trigger)则报错
scheduler.pauseTrigger(taskId, triggerGroup);//暂停触发器
scheduler.pauseJob(taskId, jobGroup);//暂停job
scheduler.unscheduleJob(taskId, triggerGroup);//删除触发器,删除前先暂停此触发器
scheduler.deleteJob(taskId, jobGroup);//删除job,删除前要先暂停此JOB
如有问题或疑问,可以加QQ:1062595510;非诚勿扰
相关文章推荐
- 搭建maven web项目并配置quartz定时任务【业务:对比数据变化内容】 历程(一)
- [Web]Servlet中使用Quartz【二】基于配置文件和jobs.xml触发任务执行
- [原创] 关于quartz (spring 中的任务调度器)时间配置
- quartz定时执行任务,并配置web.xml的操作方法
- spring任务调度器quartz 时间配置
- 任务调度器之Quartz---cronExpression表达式配置详解
- quartz定时执行任务,并配置web.xml的操作方法
- spring任务调度器quartz 时间配置
- 用maven快速搭建spring mvc的web项目(配置到jackson 和 任务调度)
- quartz2.2.1 web配置
- quartz.net 远程任务配置
- Spring+Quartz实现定时任务的配置方法
- Springmvc中配置Quartz,实现任务实时调度
- spring quartz 配置多个定时任务
- 分布式服务下Quartz任务框架配置
- Spring 通过配置向 Quartz定时任务 注入service
- Spring配置Quartz实现定时调度任务
- Quartz两个定时任务的配置
- Springmvc中配置Quartz使用,实现任务实时调度。
- WEB中使用quartz框架来实现任务的自动处理