長期実行プロセスは、非同期に実行されます。出力メッセージは、プロセスの完了時に、自動的
に戻されることはありません。メッセージを明示的に検索する必要があります。
プロセスの結果は、
プロセス・インスタンスが派生したプロセス・
テンプレートが、派生したプロセス・インスタンスの
自動削除を指定しない場合にのみ、データベースに保管
されます。
プロセスの結果を分析し、例えば、
オーダー番号などを確認します。 QueryResultSet result = process.query
("PROCESS_INSTANCE.PIID",
"PROCESS_INSTANCE.NAME = 'CustomerOrder' AND
PROCESS_INSTANCE.STATE =
PROCESS_INSTANCE.STATE.STATE_FINISHED",
null, null, null);
if (result.size() > 0)
{
result.first();
PIID piid = (PIID) result.getOID(1);
ClientObjectWrapper output = process.getOutputMessage(piid);
DataObject myOutput = null;
if ( output.getObject() != null && output.getObject() instanceof DataObject )
{
myOutput = (DataObject)output.getObject();
int order = myOutput.getInt("OrderNo");
}
}