第23章 Red Hat Decision Manager での KIE Server および KIE コンテナーのコマンド
Red Hat Decision Manager は、サーバー情報を取得したり、コンテナーの作成や削除など、サーバー関連またはコンテナー関連の操作のために KIE Server に送信するサーバーコマンドをサポートしています。サポートされる KIE Server 設定コマンドのリストは、Red Hat Decision Manager インスタンスの org.kie.server.api.commands パッケージにあります。
KIE Server REST API では、org.kie.server.api.commands コマンドを http://SERVER:PORT/kie-server/services/rest/server/config への POST 要求のボディとして使用します。KIE Server REST API の使用に関する詳細情報は、21章KIE コンテナーおよびビジネスアセット用の KIE Server REST API を参照してください。
KIE Server Java クライアント API では、親 KieServicesClient Java クライアントで対応するメソッドを Java アプリケーションで埋め込み API 要求として使用します。KIE Server コマンドはすべて Java クライアント API で提供されるメソッドが実行するため、実際の KIE Server コマンドを Java アプリケーションに埋め込む必要はありません。KIE Server Java クライアント API の使用に関する詳細情報は、22章KIE コンテナーおよびビジネスアセット用の KIE Server Java クライアント API を参照してください。
23.1. KIE Server および KIE コンテナーのコマンドサンプル リンクのコピーリンクがクリップボードにコピーされました!
以下は、KIE Server で KIE Server REST API または Java クライアント API のサーバー関連もしくはコンテナー関連操作に使用可能な KIE Server コマンドのサンプルです。
-
GetServerInfoCommand -
GetServerStateCommand -
CreateContainerCommand -
GetContainerInfoCommand -
ListContainersCommand -
CallContainerCommand -
DisposeContainerCommand -
GetScannerInfoCommand -
UpdateScannerCommand -
UpdateReleaseIdCommand
サポートされる KIE Server 設定および管理コマンドのリストは、Red Hat Decision Manager インスタンスの org.kie.server.api.commands パッケージにあります。
KIE Server コマンドは個別に実行するか、バッチ REST API 要求またはバッチ Java API 要求として実行することができます。
KIE コンテナー (JSON) を作成、呼び出し、破棄するバッチ REST API 要求
KIE コンテナーを取得、破棄、再作成するバッチ Java API 要求
このセクションの各コマンドには、KIE Server REST API 用の REST 要求のボディ例 (JSON) と KIE Server Java クライアント API 用の KieServicesClient Java クライアントからの埋め込みメソッド例が含まれています。
- GetServerInfoCommand
KIE Server インスタンスに関する情報を返します。
REST 要求のボディ (JSON) の例
{ "commands" : [ { "get-server-info" : { } } ] }{ "commands" : [ { "get-server-info" : { } } ] }Copy to Clipboard Copied! Toggle word wrap Toggle overflow Java クライアントメソッドの例
KieServerInfo serverInfo = kieServicesClient.getServerInfo();
KieServerInfo serverInfo = kieServicesClient.getServerInfo();Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーの応答例 (JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - GetServerStateCommand
KIE Server インスタンスの現在の状態と設定に関する情報を返します。
REST 要求のボディ (JSON) の例
{ "commands" : [ { "get-server-state" : { } } ] }{ "commands" : [ { "get-server-state" : { } } ] }Copy to Clipboard Copied! Toggle word wrap Toggle overflow Java クライアントメソッドの例
KieServerStateInfo serverStateInfo = kieServicesClient.getServerState();
KieServerStateInfo serverStateInfo = kieServicesClient.getServerState();Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーの応答例 (JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - CreateContainerCommand
KIE Server の KIE コンテナーを作成します。
Expand 表23.1 コマンドの属性 名前 説明 要件 containercontainer-id、release-idデータ (グループ ID、アーティファクト ID、バージョン)、status、および新規 KIE コンテナーの他のコンポーネントを含むマップ。必須
REST 要求のボディ (JSON) の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Java クライアントメソッドの例
ServiceResponse<KieContainerResource> response = kieServicesClient.createContainer("command-script-container", resource);ServiceResponse<KieContainerResource> response = kieServicesClient.createContainer("command-script-container", resource);Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーの応答例 (JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - GetContainerInfoCommand
KIE Server の指定された KIE コンテナーに関する情報を返します。
Expand 表23.2 コマンドの属性 名前 説明 要件 container-idKIE コンテナーの ID
必須
REST 要求のボディ (JSON) の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Java クライアントメソッドの例
ServiceResponse<KieContainerResource> response = kieServicesClient.getContainerInfo("command-script-container");ServiceResponse<KieContainerResource> response = kieServicesClient.getContainerInfo("command-script-container");Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーの応答例 (JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ListContainersCommand
KIE Server インスタンスで作成された KIE コンテナーリストを返します。
Expand 表23.3 コマンドの属性 名前 説明 要件 kie-container-filterrelease-id-filter、container-status-filter、および結果のフィルタリングに使用する他の KIE コンテナープロパティーを含むオプションのマップ。任意
REST 要求のボディ (JSON) の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Java クライアントメソッドの例
KieContainerResourceFilter filter = new KieContainerResourceFilter.Builder() .status(KieContainerStatus.FAILED) .build(); KieContainerResourceList containersList = kieServicesClient.listContainers(filter);KieContainerResourceFilter filter = new KieContainerResourceFilter.Builder() .status(KieContainerStatus.FAILED) .build(); KieContainerResourceList containersList = kieServicesClient.listContainers(filter);Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーの応答例 (JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - CallContainerCommand
KIE コンテナーを呼び出し、1 つ以上のランタイムコマンドを実行します。Red Hat Decision Manager ランタイムコマンドの情報は、24章Red Hat Decision Manager のランタイムコマンド を参照してください。
Expand 表23.4 コマンドの属性 名前 説明 要件 container-id呼び出される KIE コンテナーの ID
必須
payloadKIE コンテナーで実行される
BatchExecutionCommandラッパー内の 1 つ以上のコマンド必須
REST 要求のボディ (JSON) の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Java クライアントメソッドの例
List<Command<?>> commands = new ArrayList<Command<?>>(); BatchExecutionCommand batchExecution1 = commandsFactory.newBatchExecution(commands, "defaultKieSession"); commands.add(commandsFactory.newFireAllRules()); ServiceResponse<ExecutionResults> response1 = ruleClient.executeCommandsWithResults("command-script-container", batchExecution1);List<Command<?>> commands = new ArrayList<Command<?>>(); BatchExecutionCommand batchExecution1 = commandsFactory.newBatchExecution(commands, "defaultKieSession"); commands.add(commandsFactory.newFireAllRules()); ServiceResponse<ExecutionResults> response1 = ruleClient.executeCommandsWithResults("command-script-container", batchExecution1);Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーの応答例 (JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - DisposeContainerCommand
KIE Server の指定された KIE コンテナーを破棄します。
Expand 表23.5 コマンドの属性 名前 説明 要件 container-id破棄される KIE コンテナーの ID
必須
REST 要求のボディ (JSON) の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Java クライアントメソッドの例
ServiceResponse<Void> response = kieServicesClient.disposeContainer("command-script-container");ServiceResponse<Void> response = kieServicesClient.disposeContainer("command-script-container");Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーの応答例 (JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - GetScannerInfoCommand
該当する場合は、指定された KIE コンテナー内の自動更新に使用される KIE スキャナーに関する情報を返します。
Expand 表23.6 コマンドの属性 名前 説明 要件 container-idKIE スキャナーを使用する KIE コンテナーの ID
必須
REST 要求のボディ (JSON) の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Java クライアントメソッドの例
ServiceResponse<KieScannerResource> response = kieServicesClient.getScannerInfo("command-script-container");ServiceResponse<KieScannerResource> response = kieServicesClient.getScannerInfo("command-script-container");Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーの応答例 (JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - UpdateScannerCommand
更新済み KIE コンテナーデプロイメントのポーリングを制御する KIE スキャナーを起動または停止します。
注記ビジネスプロセスと KIE スキャナーを併用しないようにしてください。プロセスで KIE スキャナーを使用すると、予期せぬ更新が発生し、プロセスインスタンスの実行と互換性のない変更が加えられた場合に、長時間実行中のプロセスでエラーが発生する可能性があります。
Expand 表23.7 コマンドの属性 名前 説明 要件 container-idKIE スキャナーを使用する KIE コンテナーの ID
必須
statusKIE スキャナーに設定するステータス (
STARTED、STOPPED)必須
poll-intervalポーリングの時間 (単位: ミリ秒)
スキャナーの起動時にのみ必須
REST 要求のボディ (JSON) の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Java クライアントメソッドの例
KieScannerResource scannerResource = new KieScannerResource(); scannerResource.setPollInterval(10000); scannerResource.setStatus(KieScannerStatus. STARTED); ServiceResponse<KieScannerResource> response = kieServicesClient.updateScanner("command-script-container", scannerResource);KieScannerResource scannerResource = new KieScannerResource(); scannerResource.setPollInterval(10000); scannerResource.setStatus(KieScannerStatus. STARTED); ServiceResponse<KieScannerResource> response = kieServicesClient.updateScanner("command-script-container", scannerResource);Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーの応答例 (JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - UpdateReleaseIdCommand
指定した KIE コンテナーのリリース ID データ (グループ ID、アーティファクト ID、バージョン) を更新します。
Expand 表23.8 コマンドの属性 名前 説明 要件 container-id更新される KIE コンテナーの ID
必須
releaseIdKIE コンテナーに適用される更新済み GAV (グループ ID、アーティファクト ID、バージョン) データ
必須
REST 要求のボディ (JSON) の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Java クライアントメソッドの例
ServiceResponse<ReleaseId> response = kieServicesClient.updateReleaseId("command-script-container", "com.redhat:Project1:1.1");ServiceResponse<ReleaseId> response = kieServicesClient.updateReleaseId("command-script-container", "com.redhat:Project1:1.1");Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーの応答例 (JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow