プロセス定義内のすべてのタスク ノードについて、動的に (プログラムによって) 自己遷移 (同じノードからの遷移と同じノードへの遷移) を各タスク ノードに追加したいと考えています。これは JBPM v3.2 の一部として実行できるか、また、このアプローチを選択した場合に発生する可能性のある問題があるかどうかを教えてもらえますか?
1 に答える
1
これを動的に行う必要はありません。ワークフローで直接行うことができます。
ダイナミクス的にはどうですか?ワークフローをデプロイするとき、または既に処理しているときに?
デプロイ中の場合は、deployProcessDefinition メソッドを呼び出す前に、デプロイする xml を取得して、デプロイを行う前に編集できます。
すでに処理中の場合は、次の 2 つのオプションが考えられます。
- 自己遷移が実行されたときにタスクの新しいインスタンスを作成する場合は、データベースをハックして、既に展開されているワークフローを変更する必要があります。
- タスクの同じインスタンスを使用しても問題ない場合は、Transition.take メソッドを変更して、同じタスクへの遷移を行うときにイベントを伝播しないようにすることができます。
どちらのオプションでも、ProcessLog の問題に注意を払う必要があります。実際には存在しないトランジションのログを JBPM に書き込む際に問題が発生するかどうかはわかりません。
于 2010-10-15T11:54:49.403 に答える