【发布时间】:2014-11-26 10:30:09
【问题描述】:
我正在尝试创建一个允许 EAR 应用程序注册到另一个 EAR 应用程序以接收某些 Web 服务请求的系统。让我们称之为 Main EAR 和 Plugin EAR。
这样做的逻辑是:
1 - 主 EAR 启动
2 - 插件 EAR 启动
3 - Plugin EAR 将其配置发送到 Main EAR(带有允许的请求类型)
4 - 外部应用程序向主 EAR
发送请求5 - Main EAR 检查它是否能够处理请求,如果不能,将其发送到 Plugin EAR(如果它在允许的请求类型列表中)
6 - Plugin EAR 处理请求并响应 Main EAR
7 - 主 EAR 用 插件 EAR
处理的信息响应外部应用程序为了实现这一点,我在 Main EAR 上创建了一个 WS,它接收(以及其他参数)Plugin EAR 可以处理的请求,它是上下文根和 IP :port,但问题是获取 Plugin EAR 传入端口。
已经尝试了以下解决方案,但它们是针对特定服务器的,我需要能够在 WebSphere 和 JBoss 上使用它:
Get the server port number from tomcat with out a request
org.apache.catalina.ServerFactory.getServer() equivalent in Tomcat 7
有一个简单的解决方案是将端口(因为所有其他参数都很容易获得)添加到配置文件中,然后发送。但我正在尝试将配置选项的数量减少到最大。
所以我想知道是否有另一种方法可以使 EAR 相互通信?或者有没有其他方法可以发现 Plugin EAR 传入请求端口?
【问题讨论】:
标签: java web-services jakarta-ee deployment