【发布时间】:2013-01-24 01:06:23
【问题描述】:
我们的设置是:Glassfish 版本 3.1.2.2 -
- DAS 和 instance-1 在同一台机器上运行,而 instance-2 是 在与配置节点相同的网络中的另一台机器上运行。
- 我们已根据 Glassfish 高可用性指南在共享目录中设置事务日志记录:http://docs.oracle.com/cd/E18930_01/html/821-2416/gjjpy.html#gaxim
- 我们使用单播配置进行集群通信,因为我们 让网络负载均衡器在网络中以多播模式运行。
- 我们的应用程序(.ear 包含多个 .war)有 2 个持久计时器(因为集群中的每个计时器一次只需要一个实例)。
当instance-1(或instance-2)正常关闭时,另一个实例按预期从关闭的实例中恢复定时器。当实例 2 崩溃或异常下线时,实例 1 会恢复其计时器(再次如预期)。但是当 instance-1 崩溃时,instance-2 似乎没有按预期恢复其计时器。
据我从日志中可以看出,instance-2 收到了 instance-1 的正确故障转移消息并开始恢复,但在没有恢复失败实例的任何事务或计时器的情况下完成了它。
谁能告诉我问题出在哪里? (我应该提供更多信息吗?)
【问题讨论】:
标签: jakarta-ee ejb ejb-3.0 java-ee-6 glassfish-3