GlassFish集群+ EJB查找

时间:2013-01-23 04:52:48

标签: glassfish-3 ejb-3.1

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

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

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

有什么方法可以访问它?

谢谢

1 个答案:

答案 0 :(得分:2)

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

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

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