Jboss EJB定时器服务是线程安全的吗?

Jboss EJB定时器服务是线程安全的吗?,jboss,ejb-3.0,Jboss,Ejb 3.0,EJB定时器服务是线程安全的吗? 当多线程调用创建timerservice,然后使用自己的timerservice创建 计时器。jboss容器如何将这些事件排队并启动计时器?谢谢虽然这是一个老问题,但它仍然是当前的一个问题。 我认为您可能指的是在多服务器环境中运行的计时器服务之间的并发性,因为线程安全通常指运行在同一JVM上的进程,并通过同步方法解决 在多服务器环境中,如果不希望在完全相同的计划时间同时触发相同的EJB计时器,可以将它们存储在共享资源(例如数据库)中,并在一些服务器上有序地触发它

EJB定时器服务是线程安全的吗? 当多线程调用创建timerservice,然后使用自己的timerservice创建
计时器。jboss容器如何将这些事件排队并启动计时器?谢谢

虽然这是一个老问题,但它仍然是当前的一个问题。 我认为您可能指的是在多服务器环境中运行的计时器服务之间的并发性,因为线程安全通常指运行在同一JVM上的进程,并通过同步方法解决

在多服务器环境中,如果不希望在完全相同的计划时间同时触发相同的EJB计时器,可以将它们存储在共享资源(例如数据库)中,并在一些服务器上有序地触发它们,而不会干扰其他服务器

主要的方法似乎是定义持久EJB计时器和具有可序列化事务隔离的数据源,因此一次只有一台服务器能够更新计时器调度控制表。基于此,我认为有两种可能的方法:

  • 启用计时器服务的JBoss服务器配置为在集群中运行,因此EJB计时器一次只能在一个节点上触发(即,计时器的一次执行)。[1]
  • 在非集群环境中,您可以选择一个启用EJB计时器执行的服务器,并在其他服务器上禁用该执行
  • 这当然不是所有可能性的完整列表,但我认为这可能是在多服务器环境中配置EJB计时器的起点

    参考文献:

    [1] :JBoss-掌握Boss-创建集群EJB3计时器
    -

    [2] :JBoss-掌握Boss-配置WildFly批处理作业存储库
    -


    [3] :StackOverFlow-

    虽然这是一个老问题,但它仍然是当前的一个问题。 我认为您可能指的是在多服务器环境中运行的计时器服务之间的并发性,因为线程安全通常指运行在同一JVM上的进程,并通过同步方法解决

    在多服务器环境中,如果不希望在完全相同的计划时间同时触发相同的EJB计时器,可以将它们存储在共享资源(例如数据库)中,并在一些服务器上有序地触发它们,而不会干扰其他服务器

    主要的方法似乎是定义持久EJB计时器和具有可序列化事务隔离的数据源,因此一次只有一台服务器能够更新计时器调度控制表。基于此,我认为有两种可能的方法:

  • 启用计时器服务的JBoss服务器配置为在集群中运行,因此EJB计时器一次只能在一个节点上触发(即,计时器的一次执行)。[1]
  • 在非集群环境中,您可以选择一个启用EJB计时器执行的服务器,并在其他服务器上禁用该执行
  • 这当然不是所有可能性的完整列表,但我认为这可能是在多服务器环境中配置EJB计时器的起点

    参考文献:

    [1] :JBoss-掌握Boss-创建集群EJB3计时器
    -

    [2] :JBoss-掌握Boss-配置WildFly批处理作业存储库
    -

    [3] :堆栈溢出-