0

前の質問で示したように、「シグナル中間イベント」を境界イベントとしてヒューマン タスクに追加しました。

シグナルが正常に処理される場合もあれば、そうでない場合もあります。JBPM ランタイムは process-instance-info を更新するだけで、シグナルを処理しません。

StatefulKnowledgeSession.signalEvent()を使用しています。バックエンドで ProcessInstanceInfo を更新するだけで、イベントは進行中の現在のアクティビティをキャンセルしません。

何が問題なのですか? この「シグナル中間イベント」に関連するバグはありますか? .

ログ:

processins0_.InstanceId を InstanceId1_0_ として、processins0_.id を id1_0_ として、processins0_.lastModificationDate を lastModi3_1_0_ として、processins0_.lastReadDate を lastRead4_1_0_ として、processins0_.processId を processId1_0_ として、processins0_.processInstanceByteArray を processI6_1_0_ として、processins0_.startDate を startDate1_0_ として、processins0_.startDate を start_state_0_ として選択します。 .OPTLOCK as OPTLOCK1_0_ from ProcessInstanceInfo processins0_ where processins0_.InstanceId=? 08:34:39,014 INFO [stdout] (http--0.0.0.0-8280-20) Hibernate: Update ProcessInstanceInfo set id=?, lastModificationDate=?, lastReadDate=?, processId=?, processInstanceByteArray=?, startDate=?,状態=?、OPTLOCK=? InstanceId=? および OPTLOCK=? processins0_.processId を processId1_0_ として、processins0_.processInstanceByteArray を processI6_1_0_ として、processins0_.startDate を startDate1_0_ として、processins0_.state を state1_0_ として、processins0_.OPTLOCK を OPTLOCK1_0_ として ProcessInstanceInfo から processins0_ 08:34:39,014 INFO [stdout] (http--0.0.0.0-8280-20) Hibernate: Update ProcessInstanceInfo set id=?, lastModificationDate=?, lastReadDate=?, processId=?, processInstanceByteArray=?, startDate=?,状態=?、OPTLOCK=? InstanceId=? および OPTLOCK=? processins0_.processId を processId1_0_ として、processins0_.processInstanceByteArray を processI6_1_0_ として、processins0_.startDate を startDate1_0_ として、processins0_.state を state1_0_ として、processins0_.OPTLOCK を OPTLOCK1_0_ として ProcessInstanceInfo から processins0_ 08:34:39,014 INFO [stdout] (http--0.0.0.0-8280-20) Hibernate: Update ProcessInstanceInfo set id=?, lastModificationDate=?, lastReadDate=?, processId=?, processInstanceByteArray=?, startDate=?,状態=?、OPTLOCK=? InstanceId=? および OPTLOCK=? 0-8280-20) Hibernate: ProcessInstanceInfo セット id=?、lastModificationDate=?、lastReadDate=?、processId=?、processInstanceByteArray=?、startDate=?、state=?、OPTLOCK=? を更新します。InstanceId=? および OPTLOCK=? 0-8280-20) Hibernate: ProcessInstanceInfo セット id=?、lastModificationDate=?、lastReadDate=?、processId=?、processInstanceByteArray=?、startDate=?、state=?、OPTLOCK=? を更新します。InstanceId=? および OPTLOCK=?

環境:JBPM 5.4.0.Final、Jboss 7.1.0.Final

4

1 に答える 1

0

エンジンが ProcessInstanceInfo を更新すると言うとき、(プロセス インスタンスが期待どおりに進んでいない場合に備えて) 最後に読み取った日付のみを参照していると思いますか? それとも他の分野も?

エンジンは各リクエストを同じ方法で処理する必要があります。では、プロセス インスタンス自体が常に同じ状態にあるとは限らないのではないでしょうか。たとえば、ヒューマン タスクがアクティブになる前または後にシグナルが到着した場合、プロセス インスタンス自体は変更されません。

于 2013-03-12T01:26:08.890 に答える