我在一臺服務器上部署了兩個EAR。我想在EAR中的一個Java類中訪問一個方法,而在第二個EAR中訪問另一個Java類。如何在同一應用程序服務器上從一隻耳朵訪問另一隻耳朵的方法
什麼是不同的方式來實現這一點。哪一個是最好的辦法。
謝謝
我在一臺服務器上部署了兩個EAR。我想在EAR中的一個Java類中訪問一個方法,而在第二個EAR中訪問另一個Java類。如何在同一應用程序服務器上從一隻耳朵訪問另一隻耳朵的方法
什麼是不同的方式來實現這一點。哪一個是最好的辦法。
謝謝
將它公開爲Web服務並在其他應用程序中使用它。
您的應用程序服務器可能允許共享JNDI上下文,因此您可以通過JNDI查找獲取所需的類,但我不推薦。這意味着你的兩隻耳朵必須始終處於同一個應用程序服務器(或集羣)中。
您會推薦使用哪種方法讓EAR 1瞭解EAR 2中的Web服務?共享的WSDL? (使用什麼主機名?)僅用於本地主機的REST服務URL? – 2010-05-05 07:39:11
什麼都比較容易。你提出的兩種選擇都是可行的。 – Bozho 2010-05-05 07:58:47
我會簡單地使用無狀態會話Bean將此方法公開給另一個(遠程)Java應用程序。
將您的方法公開爲Web服務也可行......但我並沒有真正看到在兩個Java應用程序之間使用Web服務的重點。如果不需要語言不可知的協議(兩種Java應用程序之間的情況),那麼將對象編組爲XML和對象的XML將消耗CPU週期。
檢查至少在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