Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム システム構築・運用ガイド


6.1.5 プロセスインスタンスを再実行する

ビジネスプロセス実行中に,実行基盤のあるマシンが停止したり,サービス部品の呼び出しに失敗したりなど,障害が発生し中断したプロセスインスタンスを1件ずつ再実行できます。

また,複数のプロセスインスタンスを一括再実行することもできます。プロセスインスタンスの実行履歴の一括再実行は,コマンドでだけ実行できます。

なお,サービスリクエスタから,ビジネスプロセスの再実行を要求して,ビジネスプロセスを再実行することもできます。

プロセスインスタンスを再実行できる条件,およびサービスリクエスタによるビジネスプロセスの再実行については,マニュアル「サービスプラットフォーム 解説」の「3.5 ビジネスプロセスの再実行」を参照してください。

注意事項

画面やコマンドで実行履歴を検索してから再実行するまでの間に生じる時間差によって,検索結果に表示されたプロセスインスタンス実行履歴の状態と,実際のプロセスインスタンス実行履歴の状態が異なることがあります。この場合,「完了」または「フォルト終了」状態のプロセスインスタンスに対して再実行をしても,実際には再実行は失敗し実施されません。そのため,できる限り最新の情報を取得して再実行を実施してください。

〈この項の構成〉

(1) 画面によるプロセスインスタンスの再実行

(a) 1件ずつ再実行する場合

画面によってプロセスインスタンスを1件ずつ再実行する手順を次に示します。

  1. プロセスインスタンスを検索します。

    検索結果一覧に検索結果が表示されます。

  2. 検索結果一覧から,状態が「実行中」または「エラー発生」であるプロセスインスタンスを選択して,[アクティビティ情報]ボタンをクリックします。

    詳細情報一覧にアクティビティ情報が表示されます。

  3. 詳細情報一覧から,プロセスインスタンスを再実行できる条件に該当するアクティビティが含まれていることを確認します。

    プロセスインスタンスを再実行できる条件を次の表に示します。

    表6‒1 プロセスインスタンスを再実行できる条件

    アクティビティ種別

    アクティビティインスタンスの状態

    サービス呼出

    実行中

    エラー発生

    待機

    実行中

    スコープ

    実行中(待ち受け)

    エラー発生

    完了(待ち受け)

    応答

    完了(待ち受け)

  4. [再実行]ボタンをクリックします。

    プロセスインスタンス再実行の実行確認ダイアログが表示されます。

  5. [OK]ボタンをクリックします。

    プロセスインスタンスが再実行され,プロセスインスタンス再実行の実行結果ダイアログが表示されます。

  6. [OK]ボタンをクリックします。

    検索結果一覧が更新されます。再実行に失敗した場合も,一覧は更新されます。

(b) 注意事項

HCSCサーバで処理中のプロセスインスタンスに対しては,再実行しないでください。再実行する場合は,HCSCサーバからの応答やメッセージログでエラーの内容を確認し,エラーの原因を取り除いてから,プロセスインスタンスを再実行してください。

(2) コマンドによるプロセスインスタンスの再実行

(a) 1件ずつ再実行する場合

コマンドによってプロセスインスタンスを1件ずつ再実行する手順を次に示します。

  1. アクセスするHCSCサーバを決定します。

  2. cscpiselectコマンドで,次のアクティビティを含むプロセスインスタンスを検索します。

    • 状態が「実行中」または「エラー発生」のサービス呼出アクティビティ

    • 状態が「実行中」の待機アクティビティ

    • 状態が「実行中(待ち受け)」,「エラー発生」または「完了(待ち受け)」のスコープアクティビティ

    • 状態が「完了(待ち受け)」の応答アクティビティ

  3. 再実行対象のプロセスインスタンスのプロセスID,およびビジネスプロセス定義名を特定します。

  4. 次のコマンドを実行して再実行します。

    cscpireexec -user <ログインユーザID> -pass <ログインパスワード> -csc <HCSCサーバ名> {-processid <プロセスID>|-processidfile <プロセスIDファイル名>} {-processnamefile <ビジネスプロセス定義ファイル名>|-processname <ビジネスプロセス定義名>}
    注※

    どちらか1つを指定します。

(例)次の条件でコマンドを入力して,プロセスインスタンスを再実行します。
  • 再実行対象のプロセスID:J2EEServer_010210084218_Helloビジネスプロセス_1237946140968_3843192274_138

  • ビジネスプロセス定義名:Helloビジネスプロセス

  • アクセスするHCSCサーバ:HCSC

コマンド
cscpireexec -user <ログインユーザID> -pass <ログインパスワード> -csc HCSC -processidfile process_id.txt -processname Helloビジネスプロセス
process_id.txtの内容
J2EEServer_010210084218_Helloビジネスプロセス_1237946140968_3843192274_138
出力結果

[図データ]

cscpireexecコマンドの詳細については,マニュアル「サービスプラットフォーム リファレンス」の「cscpireexec(プロセスインスタンスの再実行)」を参照してください。

(b) ビジネスプロセス定義名を指定して一括再実行する場合

ビジネスプロセス定義名を指定して,プロセスインスタンスを一括再実行する手順を次に示します。

  1. アクセスするHCSCサーバを決定します。

  2. 再実行対象のプロセスインスタンスのビジネスプロセス定義名を特定します。

  3. 次のコマンドを実行して再実行します。

    cscpireexec -user <ログインユーザID> -pass <ログインパスワード> -csc <HCSCサーバ名> {-processname <ビジネスプロセス定義名>|-processnamefile <ビジネスプロセス定義ファイル名>}
    注※

    どちらか1つを指定します。

(例)次の条件でコマンドを入力して,プロセスインスタンスを一括して再実行します。
  • ビジネスプロセス定義名:Helloビジネスプロセス

  • アクセスするHCSCサーバ:HCSC

コマンド
cscpireexec -user <ログインユーザID> -pass <ログインパスワード> -csc HCSC -processname Helloビジネスプロセス

cscpireexecコマンドの詳細については,マニュアル「サービスプラットフォーム リファレンス」の「cscpireexec(プロセスインスタンスの再実行)」を参照してください。

(c) 再実行の対象となるすべてのプロセスインスタンスを一括再実行する場合

再実行の対象となるすべてのプロセスインスタンスを一括再実行する手順を次に示します。

  1. アクセスするHCSCサーバを決定します。

  2. 次のコマンドを実行して再実行します。

    cscpireexec -user <ログインユーザID> -pass <ログインパスワード> -csc <HCSCサーバ名> -all
(例)次の条件でコマンドを入力して,再実行の対象となるすべてのプロセスインスタンスを一括して再実行します。
  • アクセスするHCSCサーバ:HCSC

コマンド
cscpireexec -user <ログインユーザID> -pass <ログインパスワード> -csc HCSC -all

cscpireexecコマンドの詳細については,マニュアル「サービスプラットフォーム リファレンス」の「cscpireexec(プロセスインスタンスの再実行)」を参照してください。

(d) HCSCサーバを指定してプロセスインスタンスを一括再実行する場合

再実行の対象となるHCSCサーバを指定して,対象となるプロセスインスタンスを一括再実行する手順を次に示します。

  1. アクセスするHCSCサーバを決定します。

  2. 次のコマンドを実行して再実行します。

    cscpireexec -user <ログインユーザID> -pass <ログインパスワード> -csc <HCSCサーバ名> -all -targetcsc <再実行対象となるHCSCサーバの名称> [-status <再実行の条件となるアクティビティの状態>]
(例1)次の条件でコマンドを入力して,対象となるプロセスインスタンスを一括して再実行します。
  • アクセスするHCSCサーバ:HCSC1

  • 再実行の対象となるHCSCサーバ:HCSC2

コマンド
cscpireexec -user <ログインユーザID> -pass <ログインパスワード> -csc HCSC1 -all -targetcsc HCSC2

cscpireexecコマンドの詳細については,マニュアル「サービスプラットフォーム リファレンス」の「cscpireexec(プロセスインスタンスの再実行)」を参照してください。

(例2)次の条件でコマンドを入力して,対象となるプロセスインスタンスを一括して再実行します。
  • アクセスするHCSCサーバ:HCSC1

  • 再実行の対象となるHCSCサーバ:HCSC2

  • 再実行の対象となる状態:「実行中」,「実行中(待ち受け)」,「完了(待ち受け)」

コマンド
cscpireexec -user <ログインユーザID> -pass <ログインパスワード> -csc HCSC1 -all -targetcsc HCSC2 -status executing,executingwait,completedwait

(e) 注意事項

HCSCサーバで処理中のプロセスインスタンスに対しては,再実行しないでください。再実行する場合は,HCSCサーバからの応答やメッセージログでエラーの内容を確認し,エラーの原因を取り除いてから,プロセスインスタンスを再実行してください。

再実行の対象となるプロセスインスタンスが存在しない場合は,コマンドは異常終了します。

(3) プロセスインスタンス再実行時の応答電文の出力

プロセスインスタンスを再実行した結果,成功した場合もSOAPフォルトの発生で失敗した場合も,プロセスインスタンスから応答電文を受け取ることがあります。このような場合,HCSC-Manager定義ファイルに次に示す内容を設定して,応答電文をファイルに出力できます。

cscmng.pireexec.response.dir=応答電文格納ディレクトリ
cscmng.pireexec.response.encoding=応答電文格納文字コード

HCSC-Manager定義ファイルの作成については,「2.4.1(1) HCSC-Manager定義ファイルの格納ディレクトリ」を,HCSC-Manager定義ファイルの詳細については,マニュアル「サービスプラットフォーム リファレンス」の「6.5.3 HCSC-Manager定義ファイル」を参照してください。

なお,プロセスIDは長い文字列(最大240文字)になる可能性があります。応答電文出力ディレクトリに深いディレクトリ階層を設定すると,ファイルを生成できない場合があるため注意してください。再実行しても,応答電文ファイルが生成されない場合はメッセージが出力されます。

(4) SOAPフォルトの発生時の情報

プロセスインスタンスの再実行がSOAPフォルトの発生で失敗した場合,プロセスインスタンスから受け取るSOAPフォルト情報の種類と取り扱いを次に示します。