5.4. 環境変数による管理属性のオーバーライド
Java システムプロパティーまたは環境変数を使用して、式で定義された管理属性を解決できることはわかっていますが、式を使用しない場合でも、他の属性を変更することもできます。
JBoss EAP サーバー設定をサーバー環境により簡単に適合させるために、設定ファイルを編集することなく、環境変数を使用して管理属性の値をオーバーライドできます。JBoss EAP バージョン 8.0 以降で利用できるこの機能は、以下の理由で役立ちます。
- JBoss EAP は、最も一般的な管理属性の式のみを提供します。式が定義されていない属性の値を変更できるようになりました。
- 一部の管理属性は、JBoss EAP サーバーを他のサービス (データベースなど) に接続しますが、その値を事前に知ることができないか、値を設定に保存することはできません。たとえば、データベース認証情報などです。環境変数を使用すると、JBoss EAP サーバーの実行中にそのような属性の設定を延期できます。
この機能は、JBoss EAP バージョン 8.0 OpenShift ランタイムイメージ以降、デフォルトで有効になっています。他のプラットフォームで有効にするには、WILDFLY_OVERRIDING_ENV_VARS
環境変数を任意の値に設定する必要があります。たとえば、WILDFLY_OVERRIDING_ENV_VARS=1 をエクスポート
します。
type
が LIST
、OBJECT
、または PROPERTY
である管理属性をオーバーライドすることはできません。
前提条件
- オーバーライドする管理属性を定義しておく必要があります。
手順
管理属性を環境変数でオーバーライドするには、次の手順を実行します。
-
変更するリソースと属性のパスを特定します。たとえば、リソース
/subsystem=undertow/server=default-server/http-listener=default
のproxy-address-forwarding
属性の値をtrue
に設定します。 次のように、リソースアドレスと管理属性をマッピングして、この属性を上書きする環境変数の名前を作成します。
-
リソースアドレスから最初のスラッシュ (
/
) を削除します。/subsystem=undertow/server=default-server/http-listener=default
は、subsystem=undertow/server=default-server/http-listener=default
になります。 -
2 つの下線 (__) と属性の名前を追加します。例:
subsystem=undertow/server=default-server/http-listener=default__proxy-address-forwarding
。 -
英数字以外のすべての文字をアンダースコア (_) に置き換え、コード行全体をすべて大文字にします:
SUBSYSTEM_UNDERTOW_SERVER_DEFAULT_SERVER_HTTP_LISTENER_DEFAULT__PROXY_ADDRESS_FORWARDING
。
-
リソースアドレスから最初のスラッシュ (
-
環境値を設定します:
SUBSYSTEM_UNDERTOW_SERVER_DEFAULT_SERVER_HTTP_LISTENER_DEFAULT__PROXY_ADDRESS_FORWARDING=true
。
これらの値は例であり、実際の設定値に置き換える必要があります。