2010-05-05 57 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周期。

相关问题