我是靠谱客的博主 爱笑西装,最近开发中收集的这篇文章主要介绍使用Quartz同时触发集群多台机器同一任务,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

背景:同一个JobKey对应的任务在同一集群下,同一时刻只有一台机器执行。

需求:使用Quartz同时触发集群多台机器同一JobKey对应的任务

效果:无论哪个机器得到的资源,它都要通过HTTP请求通知另外的实例去执行相应的方法。这样就达到了某个实例执行,又让其它没得到调度的实例执行了相应的方法。

可以考虑在定时任务的JobDataMap中增加一个字段"url"。该参数"url"可以像我这样配置

{       ....,

        "url" : "10.10.0.11:80/dispatch;10.10.0.12:80/dispatch;10.10.0.13:80/dispatch" ,

        "param":"{  param_ json }"

}

这样可以解析该参数后,将请求使用HTTP请求,转发到同一集群的其它机器上。

当前系统:定时任务Job中 调用 void business();

Http请求:Controller中调用Service调用 void business();

最后

以上就是爱笑西装为你收集整理的使用Quartz同时触发集群多台机器同一任务的全部内容,希望文章能够帮你解决使用Quartz同时触发集群多台机器同一任务所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部