2013-01-23 96 views
0

我们有Glassfish集群,它有两个实例。GlassFish集群+ EJB查找

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

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

访问它的可能方式有哪些?

谢谢

回答

2

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

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

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

+0

在Glassfish集群环境中查找EJB时,我收到了查找问题,但是相同的代码在独立实例中正常工作。我是否需要更改jndi.properties文件。 –