2013-01-23 133 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文件。 –