0

我们有 Glassfish 集群,它有两个实例。

在这个集群上,我的 EJB 应用程序已部署并正在运行。

现在我有另一个 EJB-Timer-应用程序,我想将其部署在 Glassfish 服务器(域)而不是集群上,然后我想访问集群的 EJB。据我了解,EJB 计时器无法部署在集群上,因为它可以在集群的两个实例上运行。

有哪些可能的访问方式?

谢谢

4

1 回答 1

2

您实际上可以在集群上部署 EJB 计时器。它们只会在一个实例上执行。在启动时,每个@Scheduled bean 都以循环方式分配给一个实例。如果一个实例发生故障,计时器将故障转移到下一个健康的实例。

请记住遵循此处描述的 EJB 计时器的设置过程:http: //docs.oracle.com/cd/E18930_01/html/821-2418/beahw.html。简而言之,您需要为计时器数据库指定一个 XA 数据源,而不是使用默认的嵌入式数据源。

我们在 Glassfish 集群生产环境中运行了几个 @Scheduled bean。

于 2013-01-23T14:32:01.003 回答