我们有Glassfish集群,它有两个实例。
在此集群上,我的EJB应用程序已部署并运行。
现在我有另一个EJB-Timer应用程序,我希望在Glassfish服务器(域)上部署而不是在集群上,然后我想访问集群的EJB。根据我的理解,EJB计时器无法部署在集群上,因为它可以在集群的两个实例上运行。
有什么方法可以访问它?
谢谢
答案 0 :(得分:2)
您实际上可以在群集上部署EJB计时器。它们只会在一个实例上执行。在启动时,每个@Scheduled bean都以循环方式分配给实例。如果实例失败,则计时器将故障转移到下一个健康实例。
请记住遵循此处所述的EJB计时器的设置过程:http://docs.oracle.com/cd/E18930_01/html/821-2418/beahw.html。简而言之,您需要为计时器数据库指定XA数据源,而不是使用默认的嵌入数据源。
我们在Glassfish集群生产环境中运行了几个@Scheduled bean。