2010-05-05 58 views
3

我在一臺服務器上部署了兩個EAR。我想在EAR中的一個Java類中訪問一個方法,而在第二個EAR中訪問另一個Java類。如何在同一應用程序服務器上從一隻耳朵訪問另一隻耳朵的方法

什麼是不同的方式來實現這一點。哪一個是最好的辦法。

謝謝

+0

檢查至少在Glassfish v3上運行的解決方案:http://stackoverflow.com/questions/13512028/glassfish-2-1-ejb-3-0-exposing-local-ejb-to-other-applications-運行在sa/13652620#13652620 – MeTTeO 2012-12-04 09:40:58

回答

0

將它公開爲Web服務並在其他應用程序中使用它。

您的應用程序服務器可能允許共享JNDI上下文,因此您可以通過JNDI查找獲取所需的類,但我不推薦。這意味着你的兩隻耳朵必須始終處於同一個應用程序服務器(或集羣)中。

+1

您會推薦使用哪種方法讓EAR 1瞭解EAR 2中的Web服務?共享的WSDL? (使用什麼主機名?)僅用於本地主機的REST服務URL? – 2010-05-05 07:39:11

+0

什麼都比較容易。你提出的兩種選擇都是可行的。 – Bozho 2010-05-05 07:58:47

2

我會簡單地使用無狀態會話Bean將此方法公開給另一個(遠程)Java應用程序。

將您的方法公開爲Web服務也可行......但我並沒有真正看到在兩個Java應用程序之間使用Web服務的重點。如果不需要語言不可知的協議(兩種Java應用程序之間的情況),那麼將對象編組爲XML和對象的XML將消耗CPU週期。

相關問題