JAVA 定时调取器的使用

package com.test.ghf.qzJob

import java.text.SimpleDateFormat
import java.util.{Date, Properties}

import org.quartz._
import org.quartz.impl.triggers.CronTriggerImpl
import org.quartz.impl.{JobDetailImpl, StdScheduler, StdSchedulerFactory}

/**
  *
  */
object QZJob {

  def initialize(): Properties = {
    val properties = new Properties()
//    properties.setProperty("org.quartz.scheduler.instanceName", Constants.MASTER.getString("org.quartz.scheduler.instanceName"))
//    properties.setProperty("org.quartz.scheduler.rmi.export", Constants.MASTER.getString("org.quartz.scheduler.rmi.export"))
//    properties.setProperty("org.quartz.scheduler.rmi.proxy", Constants.MASTER.getString("org.quartz.scheduler.rmi.proxy"))
//    properties.setProperty("org.quartz.scheduler.wrapJobExecutionInUserTransaction", Constants.MASTER.getString("org.quartz.scheduler.wrapJobExecutionInUserTransaction"))
//    properties.setProperty("org.quartz.scheduler.batchTriggerAcquisitionMaxCount", Constants.MASTER.getString("org.quartz.scheduler.batchTriggerAcquisitionMaxCount"))
//    properties.setProperty("org.quartz.threadPool.class", Constants.MASTER.getString("org.quartz.threadPool.class"))
//    properties.setProperty("org.quartz.threadPool.threadCount", Constants.MASTER.getString("org.quartz.threadPool.threadCount"))
//    properties.setProperty("org.quartz.threadPool.threadPriority", Constants.MASTER.getString("org.quartz.threadPool.threadPriority"))
//    properties.setProperty("org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread", Constants.MASTER.getString("org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread"))
//    properties.setProperty("org.quartz.jobStore.misfireThreshold", Constants.MASTER.getString("org.quartz.jobStore.misfireThreshold"))
//    properties.setProperty("org.quartz.jobStore.class", Constants.MASTER.getString("org.quartz.jobStore.class"))
    properties
  }

  //创建调度器
  def getSchedular():StdScheduler = {
    StdSchedulerFactory.getDefaultScheduler.asInstanceOf[StdScheduler]
    //new StdSchedulerFactory(initialize()).getScheduler.asInstanceOf[StdScheduler]
  }

  def buildSingleJob(): Unit ={
    // 获取一个调度器
    val scheduler: StdScheduler = getSchedular()

    // 设定被调度类
    val jobDetail = new JobDetailImpl()
    jobDetail.setName("job1")
    jobDetail.setGroup("group1")
    jobDetail.setJobClass(classOf[MyJob])

    //val jobDataMap = new JobDataMap()
    //jobDataMap.put("taskInfo", "taskInfo")

    val cronTrigger = new CronTriggerImpl()
    cronTrigger.setName("cron1")
    cronTrigger.setGroup("cron_group1")
    cronTrigger.setCronExpression("0/10 * * * * ? ")

    scheduler.scheduleJob(jobDetail, cronTrigger)
    if (!scheduler.isStarted)
      scheduler.start()
  }

  def main(args: Array[String]): Unit = {
    buildSingleJob
  }
}


/**
  * 创建要被定时执行的类
  */
class MyJob extends Job {
  override def execute(jobExecutionContext: JobExecutionContext): Unit = {
    val sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")
    println(s"--------${sdf.format(new Date())}")
  }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值