【问题标题】:Running EJB timer on each node in a cluster在集群中的每个节点上运行 EJB 计时器
【发布时间】:2013-06-04 11:52:30
【问题描述】:

是否可以在集群的每个节点上运行 EJB Timer (@Schedule)?将计时器声明为非持久性就足够了吗?我需要一个可以被两个节点访问的数据库还是可以使用内部的 derby 数据库?

这个需求背后的用例是刷新每个节点内存中的一些数据。

AppServer 是 Glassfish 3.1 (Java EE 6)。

【问题讨论】:

    标签: java-ee-6 glassfish-3 ejb-3.1


    【解决方案1】:

    是的,您需要一个非持久性计时器。根据 EJB 3.1 规范:

    可以以编程方式或自动创建非持久性计时器 (使用@Schedule 或部署描述符)。对于自动 非持久定时器,容器创建一个 new 非持久的 每个 JVM 的应用程序初始化期间的计时器 容器已分发。

    (顺便说一句,如果您使用 Derby 网络服务器,则 Derby 数据库只能由多个进程共享。多个应用程序服务器进程不能同时打开一个 Derby 数据库。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-08
      • 2013-02-02
      • 1970-01-01
      • 2017-08-29
      • 2020-04-21
      • 2023-01-24
      相关资源
      最近更新 更多