1

我希望在服务器启动时获取服务器名称和当前应用程序的端口。我设法通过以下方式获取主机名和地址:

hostName = InetAddress.getLocalHost().getHostName();
hostAddress = InetAddress.getLocalHost().getHostAddress();

但我无法获得端口。

我知道ServletRequest getPort()方法,但我的应用程序并不总是通过请求运行,有时操作是通过 MQ 执行的。因此,我不能依赖请求。

如果重要的话,我正在使用弹簧。

谁能帮我找到港口?

谢谢,

伊多布

4

1 回答 1

2

据我了解您的问题,您有一个在某个端口上运行的 CXF servlet,并且您希望以编程方式获取此端口 - 然后您有一些通过 MQ 发出的请求,由于您提到了应用程序服务器,我将假设这些请求转到消息驱动豆?

在您的 CXF servlet 中,您将可以访问 Request 对象并通过推断它运行的 HTTP 端口号。

如果您的问题是将数据从 MDB 获取到 CXF servlet,反之亦然,我建议您研究 JNDI 机制,而不是依赖于在运行时确定侦听端口。

干杯,

于 2012-10-09T08:28:01.240 回答