任务调度器quartz与ssh框架的Web交互配置

      在网上很多关于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;非诚勿扰

          

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值