【发布时间】:2018-02-22 14:04:45
【问题描述】:
我正在寻找任何与 Spring 等效的具有本地接口的 EJB 的想法。我想在一个应用程序服务器(Tomcat)中的 webapps 之间进行通信,获得类似跨应用程序直接调用的东西。
提前感谢您的帮助。
【问题讨论】:
-
尝试使用 JMS 在应用程序之间进行通信:spring.io/guides/gs/messaging-jms
我正在寻找任何与 Spring 等效的具有本地接口的 EJB 的想法。我想在一个应用程序服务器(Tomcat)中的 webapps 之间进行通信,获得类似跨应用程序直接调用的东西。
提前感谢您的帮助。
【问题讨论】:
最佳方法取决于您的要求。
对于同一个 JVM 中的两个 webapp,我认为您没有标准。
请注意,在任何情况下,EJB 容器都提供了在同一服务器中托管的两个应用程序之间进行通信的功能,而您可能无法通过其他技术(池、事务等)开箱即用。
1) RMI,面向组件,接近 EJB,但技术水平较低
确实,从技术上讲,RMI 与依赖于 RMI 技术(除其他外)的 EJB 技术很接近。
但 RMI 也是一个低级 API,因此您应该重写 EJB 提供的许多开箱即用的功能(池、事务等......)。
2) REST,一种面向服务和互操作性的技术
如今,这些 Web 应用托管在同一个 Tomcat 实例上。
明天,出于多种原因(负载过多、云计算等等),这些可以部署在不同的 JVM 上。
使用比 JVM 更高的抽象和更标准的方式在应用程序之间进行通信(例如 HTTP REST)可能是一件好事。
【讨论】: