java - 从另一个应用程序上下文注入(inject) bean?

标签 java spring jms rmi distributed

是否可以从部署在另一台服务器中的 Web 应用程序注入(inject) Bean!

我给自己声明一个场景,我有两个使用spring框架的Web应用程序,分别部署在不同的应用程序服务器上(一个是TOMCAT,另一个是WEBLOGIC),第一个应用程序有ServiceA,第二个应用程序有ServiceB,现在我想在ServieA中注入(inject)ServiceB?

我尝试使用 RMI 执行此操作,然后使用 JMS 执行此操作,现在我想知道:

有可能用别的东西吗? 是否有关于此场景的 Activity 项目? spring框架如何共享应用程序上下文,可能吗?

谢谢。

最佳答案

Bean只是JVM中的一个对象。您当然不能直接在另一个 JVM 中使用来自一个 JVM 的对象。

但是你可以做两件事:

  1. 使用代理 - 一些对象将具有相同的接口(interface),但以某种方式调用正确的服务器作为实现。
  2. 使用面向服务的架构 (SOA)。每个服务器都应该有一些有限的 Bean 集来负责其功能。所有的 Bean 都可以相互交互。 也许 OSGI 适合这个。

关于java - 从另一个应用程序上下文注入(inject) bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21085510/

相关文章:

java - spring抽象="true"是什么意思?

java - Wildfly 9 JMS 注入(inject)未发生

javafx:如何使标签根据字符串属性自动更新其文本颜色?

java - 调用notify并不会唤醒其他等待线程

java - Apache poi : images in spreadsheet are associated with workbook and can not be retrieved/linked with individual worksheet . 。

java - SPRING REDIS - 找不到能够从类型进行转换的转换器..错误

java - repaint() 方法在无限 for 循环中的行为如何?

java - 以静态方法访问spring bean

java - 如何获得 MDB 中的最大重试次数?

java - MessageDriverBean - 重试机制