quartz job依赖的实现

原理

通过实现Listener实现job之间的依赖关系,
当JobB依赖JobA是,也就是监听JobA执行的时候,再执行JobB
每当DemoJobChainingJobListener初始化的时候,从数据库里面恢复job依赖关系
添加依赖关系的时候,也会保存到数据中

object DemoJobChainingJobListener{  implicit val conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/quartz","quartz","quartz")}

class DemoJobChainingJobListener(name:String) extends JobChainingJobListener(name) {

  import MyJobChainingJobListener._

  getChain().foreach(c=>{
    val jobKey = new JobKey(c.jobName,c.jobGroup)
    val nextKey = new JobKey(c.nextJobName,c.nextJobGroup)
    super.addJobChainLink(jobKey,nextKey)
  })



  def getChain(): List[Chain] ={

    val chains = SQL("select * from job_chain").executeQuery().as(chainParse *)
    chains
  }

  private def saveChain(firstJob: JobKey, secondJob: JobKey): Unit ={

    val firstName = firstJob.getName
    val firstGroupName = firstJob.getGroup
    val secondName = secondJob.getName
    val secondGroup = secondJob.getGroup

    SQL("insert into job_chain values({firstName},{firstGroupName},{secondName},{secondGroup})")
      .on("firstName"->firstName,"firstGroupName"->firstGroupName,
        "secondName"->secondName,"secondGroup"->secondGroup).executeInsert()

  }

  override def addJobChainLink(firstJob: JobKey, secondJob: JobKey): Unit = {
    super.addJobChainLink(firstJob, secondJob)
    saveChain(firstJob,secondJob)
  }

  override def jobToBeExecuted(context: JobExecutionContext): Unit =
    super.jobToBeExecuted(context)
}

case class Chain(jobName:String,jobGroup:String,nextJobName:String,nextJobGroup:String)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,997评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,126评论 6 342
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,492评论 11 349
  • 昨天早上丽萍说想听我分享:是如何和三个孩子和平共处的? 然后钟予说。 那就碎碎念吧。 哇哈哈,想来在这里我还没分享...
    小猪天堂阅读 1,522评论 0 1
  • 我恨这 妖魔鬼怪 为祸人间 我更恨自己 偷生在角落 懦弱给谁看 于是 我的田园 我的花果山 沦陷 这个黑夜 我要呐...
    遇见Luck阅读 4,565评论 12 31

友情链接更多精彩内容