是否可以从部署在另一台服务器中的 Web 应用程序注入(inject) Bean!
我给自己声明一个场景,我有两个使用spring框架的Web应用程序,分别部署在不同的应用程序服务器上(一个是TOMCAT,另一个是WEBLOGIC),第一个应用程序有ServiceA,第二个应用程序有ServiceB,现在我想在ServieA中注入(inject)ServiceB?
我尝试使用 RMI 执行此操作,然后使用 JMS 执行此操作,现在我想知道:
有可能用别的东西吗? 是否有关于此场景的 Activity 项目? spring框架如何共享应用程序上下文,可能吗?
谢谢。
最佳答案
Bean只是JVM中的一个对象。您当然不能直接在另一个 JVM 中使用来自一个 JVM 的对象。
但是你可以做两件事:
- 使用代理 - 一些对象将具有相同的接口(interface),但以某种方式调用正确的服务器作为实现。
- 使用面向服务的架构 (SOA)。每个服务器都应该有一些有限的 Bean 集来负责其功能。所有的 Bean 都可以相互交互。 也许 OSGI 适合这个。
关于java - 从另一个应用程序上下文注入(inject) bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21085510/