Activiti日本語情報ブログ

OSSのBPMエンジン Activitiの日本語情報をまとめています。

【Activiti入門】変数

概要

  • Activitiのプロセスでは、変数を利用してプロセスに関する入力データを扱う。

  • 変数はデータベース(テーブル ACT_RU_VARIABLE)にて管理される。

    ただし、変数の値にJava beanなどが格納された場合は、バイナリデータとしてACT_GE_BYTEARRAYテーブルに格納される。

  • 変数には、スコープが存在する。

  • 参考

    Activiti User Guide 4.5. Variables

Process Variables

  • プロセス全体で有効となる変数。

    レコードとしては、テーブル ACT_RU_VARIABLEのカラムproc_inst_idとカラムexecution_idが一致するもの。

Execution

  • アクティブなExecution内でのみ有効な変数。

    説明が難しいが、Activitiでは、プロセスインスタンス上で現在アクティブな箇所をExecutionと定義している。 例えば、以下のような並行ルートの場合は、並行ルートの処理中に3つのアクティブなExecutionが存在する。 1つ目はプロセスインスタンス全体のExecution、2,3つ目はそれぞれの並行ルートのExecutionである。

    f:id:lalalafrance:20160419175932p:plain

  • Executionスコープの変数とは、プロセスインスタンスのExecutionではない、個々のExecution内で有効となる変数である。

    レコードとしては、テーブル ACT_RU_VARIABLEのカラムproc_inst_idとカラムexecution_idが一致しないもの。

UserTask Variables

  • ユーザタスク内でのみ有効な変数。

    レコードとしては、テーブル ACT_RU_VARIABLEのカラムtask_id_が空でないもの。

履歴

  • 変数の履歴は、テーブル ACT_HI_VARINSTに格納される。