集群配置问提

q昨天到今天一直被quartz集群问题困扰

正常情况下集群下的多台quartz服务只有一个在工作。但是我测试的情况是每个服务都已是集群上的一个节点,数据库中也看了节点状态的记录。但是每台服务都是各干各的没有集群的效果。过程比较坎坷

网上资料都没有找到这一项说明

确定使用的数据库后,
quartz.dataSource.myDS.provider  配置数据库提供者

quartz.dataSource.myDS.connectionString 配置数据库连接字符串

quartz.jobStore.driverDelegateType 配置数据库的委托类型,这个很重要,每个数据库的语言都有些不一样,选择适合的委托类型。具体的到源码中找即可。

划重点====

还发现一个问题。在调试的时候都是正常的,但是放到 docker中出现了事务连接的问题。后来我主动引入mysql.data最新的库(8.0.19)解决了。

数据库的版本太高,导致quartz.net引入的mysql.data库不支持我可以理解。但是同样的云端数据库,本地一样去连接,不适用最新的库也没问题。

就有点朦。有可能是发布的问题,本地可能有引入操作系统中的库,docker上部署的是框架依赖配置的发布版。docker上不可能有mysql的服务组件。可能是这个问题引起的。。


更重点================================================

今天重新试了下,昨天写的纯属扯淡

网上找了一篇博客完全解决了这个问题(https://blog.csdn.net/sinat_38740436/article/details/91895416)

quartz.jobStore.misfireThreshold 这个值要小于 定时执行任务的周期,比如quartz.jobStore.misfireThreshold=60000一分钟,但是我5秒钟执行一次定时任务,这种配置在集群下是不起作用的。所以要将 quartz.jobStore.misfireThreshold的值设置小于定时任务的周期就解决了这个问题

数据库连接问题也大概有了结果,放到云服务器上,我数据路的host如果以外网的域名连接就是连接不上。但是我改成内网的ip又可以了。。。暂时就不管这个问题了。卸载了8.0.19的mysql.data.dll,用默认的库也是完美执行。应该不是库版本的问题。。在quartz.net3.07发布的 时候,8.0.19的版本还没出来

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

相关阅读更多精彩内容

  • quartz的介绍就不说了,这里主要说的是使用spring boot+2.2.1搭建集群。 1.pom引入 2.在...
    jack_520阅读 10,836评论 0 4
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 9,465评论 0 5
  • (一)、JobStore接口   Quartz中的Scheduler调度器、Job任务、Trigger触发器在前面...
    ChienSun阅读 18,416评论 5 16
  • 概述 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源...
    公子小白123阅读 4,338评论 0 0
  • 原文:谈谈互联网后端基础设施 作者飒然hang是ETouch随身云的架构师,中华万年历就是其公司作品,专注于Jav...
    meng_philip123阅读 4,806评论 0 36

友情链接更多精彩内容