【发布时间】:2013-01-23 04:52:47
【问题描述】:
我们有 Glassfish 集群,它有两个实例。
在这个集群上,我的 EJB 应用程序已部署并正在运行。
现在我有另一个 EJB-Timer-应用程序,我想将其部署在 Glassfish 服务器(域)而不是集群上,然后我想访问集群的 EJB。据我了解,EJB 计时器无法部署在集群上,因为它可以在集群的两个实例上运行。
有哪些可能的访问方式?
谢谢
【问题讨论】:
标签: glassfish-3 ejb-3.1
我们有 Glassfish 集群,它有两个实例。
在这个集群上,我的 EJB 应用程序已部署并正在运行。
现在我有另一个 EJB-Timer-应用程序,我想将其部署在 Glassfish 服务器(域)而不是集群上,然后我想访问集群的 EJB。据我了解,EJB 计时器无法部署在集群上,因为它可以在集群的两个实例上运行。
有哪些可能的访问方式?
谢谢
【问题讨论】:
标签: glassfish-3 ejb-3.1
您实际上可以在集群上部署 EJB 计时器。它们只会在一个实例上执行。在启动时,每个@Scheduled bean 都以循环方式分配给一个实例。如果一个实例发生故障,计时器将故障转移到下一个健康的实例。
请记住遵循此处所述的 EJB 计时器设置过程:http://docs.oracle.com/cd/E18930_01/html/821-2418/beahw.html。简而言之,您需要为计时器数据库指定一个 XA 数据源,而不是使用默认的嵌入式数据源。
我们在 Glassfish 集群生产环境中运行多个 @Scheduled bean。
【讨论】: