1

サーバーの起動時にサーバー名と現在のアプリケーションのポートを取得したいと考えています。私はホスト名とアドレスを取得することができました:

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

しかし、私はポートを取得できません。

メソッドについては認識しServletRequest getPort()ていますが、アプリケーションが常にリクエストで実行されるとは限らず、MQ を介してアクションが実行されることもあります。したがって、私は要求に頼ることができません。

問題がある場合は、春を使用しています。

ポートを見つけるのを手伝ってくれる人はいますか?

ありがとうございました、

イドブ

4

1 に答える 1

2

私があなたの問題を理解しているので、あなたはあるポートで実行されているCXFサーブレットを持っていて、プログラムでこのポートを取得したいと思っています-そしてあなたはMQを介していくつかのリクエストを受け取り、アプリケーションサーバーについて言及しているので、これらのリクエストはメッセージ駆動型に送られると思います豆?

CXFサーブレットでは、Requestオブジェクトにアクセスし、それが実行されているHTTPポート番号を推測することができます。

問題がMDBからCXFサーブレットに、またはその逆にデータを取得することである場合は、実行時にリスニングポートを決定することに依存するのではなく、JNDIメカニズムを調べることをお勧めします。

乾杯、

于 2012-10-09T08:28:01.240 に答える