新規プロセスの開始

tw.system.startProcessByName() 関数を使用して、プロセスの新規インスタンスを開始できます。

パラメーター

tw.system.startProcessByName() メソッドは、1 つの TWProcessInstance オブジェクトを返し、以下の 2 つのパラメーターを取ります。
name (String)
プロセスの名前。
inputValues (Map)
プロセスの入力パラメーターが含まれているマップ。
var inputs = new tw.object.Map();
inputs.put("parm1", "parm1 value");
inputs.put("parm2", "parm2 value");
tw.system.startProcessByName("StartProcess2", inputs);

スレッドのハング例外

特定の状況において、tw.system.startProcessByName() 関数を使用したプロセス・インスタンス開始の試行がブロックされ、システムの標準出力ログにデータベース接続を保持したスレッドのスレッド・ハング例外が表示される場合があります。これは、以下の状況で発生する可能性があります。
  • 添付されたサービスを使用して Undercover Agent (UCA) メッセージ・イベントを定義済みである。
  • 添付されたサービスで、tw.system.startProcessByName() 関数を使用して新規プロセス・インスタンスを開始している。
  • 開始しているプロセスには、ビジネス・データ検索に公開されている変数が定義されており、このプロセスの作成がハングする。

推奨される解決方法は、BPMN (Business Process Model and Notation) のベスト・プラクティスを使用して、プロセスを開始メッセージ・イベントによりモデル化することです。そうすると、UCA メッセージ・イベントが、この開始メッセージ・イベントに添付されます。