Red Hat Training
A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform
3.4.9. 管理 CLI で if-else 制御フローを使用
管理 CLI は、条件に基づいて実行するコマンドおよび操作のセットを選択できる
if
- other 制御フローをサポートします。if
条件は、of
キーワードの後に指定された管理コマンドまたは操作の応答を評価するブール式です。
以下の項目をどれでも式に含めることができます。
- 条件演算子(&&, ||)
- 比較演算子(>, >=, <=, ==, !=)
- 式をグループ化および優先付けするかっこ
例3.9 管理 CLI コマンドでの if
ステートメントの使用
この例では、システムプロパティー
test
の読み取りを試みます。outcome
が success
でない場合 (プロパティーが存在しないことを意味します)、システムプロパティーが追加され、true
に設定されます。
if (outcome != success) of /system-property=test:read-resource /system-property=test:add(value=true) end-if
上記の条件は、
outcome
を使用します。 これは、以下のように of
キーワードの後の CLI コマンドが実行されると返されます。
[standalone@localhost:9999 /] /system-property=test:read-resource { "outcome" => "failed", "failure-description" => "JBAS014807: Management resource '[(\"system-property\" => \"test\")]' not found", "rolled-back" => true }
例3.10 if
-else
statement with 管理 CLI コマンドの使用
この例では、サーバープロセスの起動タイプ(
STANDALONE
または DOMAIN
)をチェックし、適切な CLI コマンドを実行して ExampleDS
データソースを有効にします。
if (result == STANDALONE) of /:read-attribute(name=launch-type) /subsystem=datasources/data-source=ExampleDS:write-attribute(name=enabled, value=true) else /profile=full/subsystem=datasources/data-source=ExampleDS:write-attribute(name=enabled, value=true) end-if
if
-else
control flow をファイルに指定すると(各行に 1 つずつ)管理 CLI コマンドを指定し、非対話的に実行するために jboss-cli.sh
スクリプトに渡すことができます。
EAP_HOME/bin/jboss-cli.sh --connect --file=CLI_FILE
注記
入れ子の
if
-else
ステートメントの使用はサポートされません。