zoukankan      html  css  js  c++  java
  • Tomcat集群Spring+Quartz多次执行解决方案记录

    由于在集群环境下定时器会出现并发和重复执行的问题,我再三考虑记录有5

    一、把定时器模块单独拿出来放到一台tomcat或者新建一个Java工程手动启动定时器,这样定时器的任务就可以从原来的集群中抽离开来,原来的tomcat集群不再执行定时器任务,而是交给定时器应用单独执行。

    二、不从集群当中抽离定时器,而是采用另外一个应用统一调度,每次只有一台tomcat执行定时器任务。

    三、 采用数据库来记录每台tomcat定时器执行的状态,执行的状态可以采用当前执行的时间点来区分,当定时器执行的时候首先应该把当前时间点记录到数据库中 防止另外一台机器重复执行,当另外一台tomcat上面的定时器执行的时候首先会比较当前时间点是否和数据库记录的时间点之间的时间差大于定时器执行的时 间间隔,执行的状态还可以采用其他方式进行区分

    四、采用EJB充当业务层,采用分布式开发,定时器放到EJB上面执行。http://www.theserverside.com/news/1377023/Using-the-Quartz-Enterprise-Scheduler-in-J2EE

    五、tomcat+jboos,定时器部署到tomcat上面,定时器要执行的业务逻辑放在jboss上面采用会话bean+实体bean,这种可以用在jboss集群环境下

  • 相关阅读:
    c# 定义委托和使用委托(事件的使用)
    c# 继承与多种状态
    ref 参数与out参数
    c# 类
    foreach 语句
    c# 制作弹窗
    c#常用类
    Python中的OS对路径的操作以及应用
    Git 推送文件到远程仓库
    Python基础 函数
  • 原文地址:https://www.cnblogs.com/interdrp/p/3458882.html
Copyright © 2011-2022 走看看