cepdeployrsc - 開発資産の配備、ルール定義とマスタデータの動的変更
形式1)
cepdeployrsc resource [-o] [-e engine_name] -f xml_filePath
形式2)
cepdeployrsc rule -h [-e engine_name] -f xml_filePath
形式3)
cepdeployrsc master -h [-e engine_name]
形式1は、CEPエンジンに対して開発資産を配備します。
配備する開発資産の種別(イベントタイプ定義/ルール定義/マスタ定義/RDB参照定義/SOAPリスナ定義)を指定します。
形式2は、CEPエンジンを停止せずに更新したルール定義を適用します。(ルール定義の動的変更)
形式3は、CEPエンジンを停止せずに更新したマスタデータを適用します。(マスタデータの動的変更)
コマンド実行時は、配備や動的変更の実施を確認する問い合わせが行われます。yを入力して<ENTER>で配備や動的変更が実行されます。また、nもしくはqを入力して<ENTER>で実行をキャンセルできます。
例
問い合わせの例(SOAPリスナ定義の配備の場合)
Are you sure you want to deploy the SOAP listener definition?(default: y) [y,n,q]:
問い合わせの例(ルール定義の動的変更の場合)
Are you sure you want to hotdeploy the rule definition?(default: y) [y,n,q]:
問い合わせの例(マスタデータの動的変更の場合)
Are you sure you want to hotdeploy the master data?(default: y) [y,n,q]:
開発資産の種別を指定します。動的変更時にはruleまたはmasterだけが指定できます。
イベントタイプ定義
ルール定義
マスタ定義
RDB参照定義
SOAPリスナ定義
開発資産の配備時に定義内容を上書きします。動的変更時には指定できません。
開発資産の配備時に本オプションを省略した場合、定義ファイルで指定した開発資産IDと同じ開発資産が既に配備済みであれば、エラーメッセージが出力されて配備に失敗します。
開発資産の配備、または、動的変更を実施するCEPエンジン名を指定します。
構成しているCEPエンジンが1つだけの場合は、本オプションを省略できます。
本オプションを省略した場合、構成済みのCEPエンジンが2個以上存在していると、エラーメッセージが出力されて配備、動的変更に失敗します。
開発資産の配備時、または、ルール定義の動的変更時に、開発資産の定義内容が記述された定義ファイルを指定します。指定ミス防止のため、絶対パスでの指定を推奨します。マスタデータの動的変更時には指定できません。
ルール定義、または、マスタデータの動的変更を実施します。
参照
定義ファイルの定義詳細については、「9.2 開発資産の定義」を参照してください。
以下のステータスが返されます。
正常終了
異常終了
注意
定義ファイルには、cepgetrscコマンドが出力する詳細表示結果(XML形式)を保存したファイルも指定可能です。詳しくは、「8.7 cepgetrsc」を参照してください。
形式1の場合、配備対象のCEPエンジンの起動中は、開発資産を配備できません。
形式2および3の動的変更を行う場合は、さらに次の点に注意してください。
対象のCEPエンジンが停止中の場合は、動的変更できません。
動的変更できる開発資産はルール定義だけです。そのため、未配備のイベントタイプ定義、マスタ定義、RDB参照定義、SOAPリスナ定義を参照するようなルール定義への動的変更はできません。
ルール定義の動的変更の場合、新しいルール定義と開発資産IDが同じルール定義が配備済みである必要があります。
ルール定義の動的変更で高速フィルタールールに変更がある場合、対象のCEPエンジンで使用しているマスタデータは全て再読込みされます。
ルール定義の動的変更で複合イベント処理ルールに変更がある場合、複合イベント処理ルールでウィンドウ内に保持されている情報は破棄されます。
次の場合、動的変更処理はキャンセルされ、cepdeployrscコマンドは画面にメッセージを出力して正常終了します。
変更箇所のないルール定義ファイルを指定した場合、ルール定義の動的変更処理はキャンセルされます。
ルール定義が未配備の場合、あるいは配備中のルール定義に高速フィルタールールが含まれない場合、マスタデータの動的変更処理はキャンセルされます。
マスタ定義が未配備の場合、マスタデータの動的変更処理はキャンセルされます。
動的変更実行中は、処理対象のイベントは内部キューに蓄積され、動的変更成功後処理を再開します。
ルールの構文エラー等で動的変更に失敗した場合、CEPエンジンは停止します。運用時に動的変更する場合には、事前に別のCEPエンジンで動作確認してから動的変更を実行するようにしてください。
例
正常終了時の出力例
SOAPリスナ定義ファイル(listenerdeploy.xml)をCEPエンジン(CepEngine1)に配備する場合の出力例です。
$ cepdeployrsc listener -o -e CepEngine1 -f /tmp/listenerdeploy.xml <ENTER>
Are you sure you want to deploy the SOAP listener definition?(default: y) [y,n,q]:y <ENTER>
Command cepdeployrsc executed successfully.
ルール定義ファイル(rule.xml)をCEPエンジン(CepEngine1)に動的変更する場合の出力例です。
$ cepdeployrsc rule -h -e CepEngine1 -f /tmp/rule.xml <ENTER>
Are you sure you want to hotdeploy the rule definition?(default: y) [y,n,q]:y <ENTER>
Command cepdeployrsc executed successfully.
マスタデータをCEPエンジン(CepEngine1)に動的変更する場合の出力例です。
$ cepdeployrsc master -h -e CepEngine1 <ENTER>
Are you sure you want to hotdeploy the master data?(default: y) [y,n,q]:y <ENTER>
Command cepdeployrsc executed successfully.
異常終了時の出力例
他のコマンド(同時実行が不可であるコマンド)の実行中に、SOAPリスナ定義を配備しようとした場合の出力例です。
$ cepdeployrsc listener -o -e CepEngine1 -f /tmp/listenerdeploy.xml <ENTER>
Are you sure you want to deploy the SOAP listener definition?(default: y) [y,n,q]:<ENTER>
Processing cannot be performed because another command is executing.
Command cepdeployrsc execution failed.
動的変更するルールに構文エラーがあった場合の出力例です。
$ cepdeployrsc rule -h -e CepEngine1 -f /tmp/rule.xml <ENTER>
Are you sure you want to hotdeploy the rule definition?(default: y) [y,n,q]:<ENTER>
The definition file contents are incorrect. Filename=(/tmp/rule.xml)
Command cepdeployrsc execution failed.
配備済みでない開発資産IDをもつルール定義を動的変更しようとした場合の出力例です。
$ cepdeployrsc rule -h -e CepEngine1 -f /tmp/rule.xml <ENTER>
Are you sure you want to hotdeploy the rule definition?(default: y) [y,n,q]:<ENTER>
The rule definition has not been deployed. Id=(RULE01)
Command cepdeployrsc execution failed.
CEPエンジン停止中に、マスタデータを動的変更しようとした場合の出力例です。
$ cepdeployrsc master -h -e CepEngine1 <ENTER>
Are you sure you want to hotdeploy the master data?(default: y) [y,n,q]:<ENTER>
CEP Engine is not started. EngineId=(CepEngine1)
Command cepdeployrsc execution failed.