Spring boot + Quartz + Oracle作业调度

时间:2017-05-17 08:55:23

标签: oracle spring-boot cron quartz-scheduler job-scheduling

我想使用Quartz和Oracle作为JobStore安排作业。我看到大多数示例使用RAMjobstore(这不是持久性的),但几乎没有任何可以帮助我满足我对Spring boot + Quartz + Oracle开发的要求。

任何有关代码示例或github项目的链接或帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:3)

好吧,我终于可以制作一个小型的Spring启动+ Quartz + Oracle JobStore应用程序,满足我的要求!我认为可能有助于与正在寻找相同内容的其他人分享链接。

我建议使用以下链接并使用这些链接,您至少可以提出一个简单的解决方案:

  1. http://www.quartz-scheduler.org/documentation/quartz-2.x/quick-start.html
  2. https://github.com/davidkiss/spring-boot-quartz-demo
  3. 对于持久性Jobstore(特别是Oracle),请使用quartz.properties配置文件中的以下属性:

    org.quartz.scheduler.instanceName=spring-boot-quartz-demo
    org.quartz.scheduler.instanceId=AUTO
    
    #============================================================================
    # Configure ThreadPool
    #============================================================================
    
    org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
    org.quartz.threadPool.makeThreadsDaemons = true
    org.quartz.threadPool.threadCount: 20
    org.quartz.threadPool.threadPriority: 5
    
    #============================================================================
    # 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=true
    org.quartz.jobStore.misfireThreshold=25000
    org.quartz.jobStore.tablePrefix=QRTZ_
    org.quartz.jobStore.isClustered=false 
    org.quartz.jobStore.dataSource = myDS
    
    #============================================================================
    # Configure Datasources  
    #============================================================================
    
    org.quartz.dataSource.myDS.driver = oracle.jdbc.pool.OracleDataSource
    org.quartz.dataSource.myDS.URL = jdbc:oracle:thin:xxxxxxxx
    org.quartz.dataSource.myDS.user = username
    org.quartz.dataSource.myDS.password = password
    org.quartz.dataSource.myDS.maxConnections = 5
    

    剩下的应该很容易!!干杯!