JBoss EAP または EPP で無作為に使用されるポートをデバッグする
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 6.0.x
- 5.x
- 4.x
- Red Hat JBoss Enterprise Portal Platform (EPP)
- 5.x
- 4.x
Issue
JBoss EAP は、エフェメラルポートやランダムポートを使用しているようです。どのポートを使用しているかを確認するにはどうすれば良いですか?
Resolution
JBoss がエフェメラルポートやランダムポートを使用している疑いがある場合は、アプリケーションがポートを開いている可能性を除外するために、カスタムにデプロイしたアプリケーションを削除します。Byteman をインストールして、添付されている byteman-script.zip ファイルをダウンロードします。このファイルには ports.btm ファイルが含まれています。
Linux
EAP 6.0.x (スタンドアロン): standalone.conf に以下を追加します。
JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.byteman.transform.all -javaagent:$BYTEMAN_HOME/lib/byteman.jar=script:ports.btm,boot:$BYTEMAN_HOME/lib/byteman.jar,listener:true"
EAP 5.x & 4.x: run.conf に以下を追加します。
JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.byteman.transform.all -javaagent:$BYTEMAN_HOME/lib/byteman.jar=script:ports.btm,boot:$BYTEMAN_HOME/lib/byteman.jar,listener:true"
Windows
EAP 6.0.x: %JBOSS_HOME%/bin/standalone.conf.bat に byteman パラメーターを追加します。
set "JAVA_OPTS=%JAVA_OPTS% -javaagent:%BYTEMAN_HOME%/lib/byteman.jar=script:%BYTEMAN_HOME%/scripts/ports.btm,listener:true,boot:%BYTEMAN_HOME%/lib/byteman.jar -Dorg.jboss.byteman.transform.all"
EAP 5.x & 4.x: run.conf.sh に以下を追加します。
set "JAVA_OPTS=%JAVA_OPTS% -javaagent:%BYTEMAN_HOME/lib/byteman.jar=script:%BYTEMAN_HOME%/scripts/ports.btm,listener:true,boot:%BYTEMAN_HOME%/lib/byteman.jar -Dorg.jboss.byteman.transform.all"
JBoss EAP インスタンスを起動して、byteman スクリプトで生成したスタックトレースでコンソールを確認します。スタックトレースには、ポートを使用しているコンポーネントまたはサービスが示されます。
注意: Red Hat サポートケースを作成して、Red Hat が問題を解決するのに必要な出力結果を添付します。
Attachments
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
