0

私のマシンでJNDIに登録されたすべての開いているポートを見つけることは可能ですか?

Ubuntuからいくつかのユーティリティを見つけるのは良いことですが、Javaコードも問題ありません。

更新: JSP の説明の後、質問を修正しました。

4

1 に答える 1

1

次のようにします
。A。アプリケーションサーバー構成
を解析します。たとえば、Jboss AS 7.xのスタンドアロン構成の
場合、standalone / configuration /standalone.xmlを解析する必要があります。B。XMLからJNDI構成を読み取り、理解します。使用するポート。
C.使用

System.getRuntime()。exec

netstat -naを呼び出す
には、Aから取得したリストに存在し、ESTABLISHED状態にあるポートを除外します。

私の解決策に関するいくつかの問題:A。私の知る限り、Java EE仕様によれば、Javaエンタープライズアプリケーションからプロセスを実行するべきではありません。
これを克服するために、いくつかのj2seアプリケーションをサービスとして実行
し、アプリケーションサーバーと通信することができます。B.JNDIポートについて知る必要のあるサーバーとコードが同じマシン上に存在すると仮定しました。
ポートを知る必要のあるコードを別のマシンで実行する必要がある場合は、この情報をクライアントに公開する必要があります(つまり、Web UI、RESTなどを介して)。

于 2012-10-27T10:14:14.850 に答える