【发布时间】:2016-08-01 08:35:50
【问题描述】:
我有两个 Web 应用程序(打包为 WAR)部署到 Tomcat 7。两者都是简单的 Java 应用程序。
以一种非常简单的方式我希望一个 web 应用可以随时将简单的字符串变量传递给另一个应用。
例如,应用 A 对应用 B 说“这是一个字符串,这是另一个字符串,还有另一个……”等等。
目前看起来 RMI 可能是一个不错的方法 - 应用 B 可以公开一个方法 passMeAString(String string),而应用 A 可以通过 TCP 调用它并传递字符串。这也可能很好,因为外部没有 TCP 访问,因此外部世界将无法调用该方法。
这是一个好方法吗?有没有更简单的方法?当然,公开一个公共接口(向全世界)不是一种选择。
另外,只是为了帮助我,示例将非常有帮助。
【问题讨论】:
-
只需使用带参数的简单http
-
"这是一个好方法吗?有没有更简单的方法?"我认为这不是最理想的,因为它在两个应用程序之间强加了依赖关系,并且您会以某种方式重新发明轮子。也许您应该考虑使用(本地可访问的)REST-API 或 MessageQueue(其中有很多实现)。
-
使用 RMI,您还公开了一个接口,我不确定我是否理解您的公共接口有什么问题,您能澄清一下吗?
-
@NicolasFilotto 我想人们对“公共”是什么感到困惑。当我读到它时,OP 不希望从“世界”访问该功能,而只能在同一个 tomcat 上的两个应用程序之间访问。所以恕我直言,“隐私”必须作为应用程序在另一个层面上实施。否则,公共接口必须在容器级别对外界“隐藏”。
-
@Fildor 正是我的意思,感谢您代表我澄清
标签: java tomcat web-applications tcp