5.2. 管理モデル式を解決するための環境変数
管理モデル式を解決し、OpenShift Container Platform で JBoss EAP 8.0 サーバーを起動するには、環境変数を追加するか、管理コマンドラインインターフェイス (CLI) で Java システムプロパティーを設定します。両方を使用する場合、JBoss EAP は環境変数ではなく Java システムプロパティーを監視して使用し、管理モデル式を解決します。
システムプロパティーから環境変数へのマッピング
${my.example-expr}
という管理式があるとします。JBoss EAP サーバーはこれを解決しようとするときに、my.example-expr
という名前のシステムプロパティーをチェックします。
- サーバーがこのプロパティーを検出すると、その値を使用して式を解決します。
- このプロパティーが見つからない場合、サーバーは検索を続けます。
次に、サーバーがシステムプロパティー my.example-expr
を見つけられないと仮定すると、サーバーは自動的に my.example-expr
をすべて大文字に変更し、英数字以外のすべての文字をアンダースコア (_): MY_EXAMPLE_EXPR
に置き換えます。次に、JBoss EAP はその名前の環境変数をチェックします。
- サーバーがこの変数を見つけると、その値を使用して式を解決します。
- この変数が見つからない場合、サーバーは検索を続けます。
元の式が接頭辞 env.
で始まる場合、JBoss EAP は接頭辞を削除して環境変数を解決し、環境変数名のみを検索します。たとえば、式 env.example
の場合、JBoss EAP は example
環境変数を探します。
これらのチェックで元の式を解決するプロパティーまたは変数が見つからない場合、JBoss EAP は式にデフォルト値があるかどうかを探します。存在する場合、そのデフォルト値によって式が解決されます。そうでない場合、JBoss EAP は式を解決できません。
2 台のサーバーの例
1 つのサーバーで、JBoss EAP が次の管理リソースを定義するとします。<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
設定ファイルを編集する代わりに、別のポートオフセットで 2 番目のサーバーを実行するには、次のいずれかを実行します。
-
jboss.socket.binding.port-offset
Java システムプロパティーを設定して、2 番目のサーバーで値を解決します:./standalone.sh -Djboss.socket.binding.port-offset=100
。 -
JBOSS_SOCKET_BINDING_PORT_OFFSET
環境変数を設定して、2 番目のサーバーの値を解決します:JBOSS_SOCKET_BINDING_PORT_OFFSET=100 ./standalone.sh
。