以下の内容はhttps://rheb.hatenablog.com/entry/2025/12/04/084215より取得しました。


JBoss EAP 8に環境変数を使って値を設定する/7以前と挙動が変わっているので注意

Red Hat のソリューションアーキテクトの瀬戸です。

これはJakarta EE / Java EE Advent Calendar 2025の4日目の記事です。

昨日は @TTakakiyo による Open LibertyでJakarta EEをフレームワークとして使う #Java - Qiita です。
明日は @megascus による Jakarta Persistence 3.2(Jakarta EE 11)で増えたJPQLの構文 - 水まんじゅう2 です。

JBoss EAP 8から環境変数の扱いが変わりました。 具体的にはstandalone.xmlなどの設定ファイルで積極的に環境変数を参照しに行くようになりました。

以前は環境変数を参照したい場合はenvと明示的にパラメーター名に付ける必要がありました。

さて、実際に見てみましょう。

JBoss EAPではデフォルトでHTTPポートのリスニングについては次のような設定がされています。

<socket-binding name="http" port="${jboss.http.port:8080}"/>

これはjboss.http.portというパラメーターが渡された時はその値、渡されていない場合は8080がデフォルト値として使用されるという意味です。

何も設定しない場合、JBoss EAPは8080をリスニングポートとして起動します。

16:21:47,052 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-4) WFLYUT0006: Undertow HTTP リスナー default が 127.0.0.1:8080 でリッスンしています

パラメーター名を全部大文字に変換し、英数字以外のすべての文字をアンダースコアにしたものを環境変数として設定します。

jboss.http.port -> JBOSS_HTTP_PORT

例)

set JBOSS_HTTP_PORT=18080

設定するとJBoss EAPは18080をリスニングポートとして起動します。

16:27:38,769 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-3) WFLYUT0006: Undertow HTTP リスナー default が 127.0.0.1:18080 でリッスンしています

また、システムプロパティが設定されている場合はそちらが優先され、環境変数は読み込まれませんのでご注意ください。

ということで、JBoss EAPの環境変数を読み込むルールが変更されたという話でした。JBOSSもしくはWILDFLYという環境変数が定義されている場合、環境変数から値が読み込まれ、予期しない挙動を生む場合があるのでご注意ください。また、standalone.xmlなどの設定ファイル内で独自の変数を定義している場合も、予期せず環境変数から値を読み込んでしまう場合もありますので、ご注意ください。

参考:




以上の内容はhttps://rheb.hatenablog.com/entry/2025/12/04/084215より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14