私のマシンでJNDIに登録されたすべての開いているポートを見つけることは可能ですか?
Ubuntuからいくつかのユーティリティを見つけるのは良いことですが、Javaコードも問題ありません。
更新: JSP の説明の後、質問を修正しました。
次のようにします
。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などを介して)。