1

以下のエラーが発生しましたが、他のエラーが原因でアプリケーションがクラッシュした後でのみです。したがって、これらのエラーはリンクしていると思います。しかし、最初は非常に奇妙です:

原因: org.jbpm.task.service.PermissionDeniedException: ユーザー '[User:'renauds']' は、org.jbpm.task で一致する '現在のステータス' がないため、タスク ID 7 でオペレーション 'Resume' を実行できませんでした.service.TaskServiceSession.evalCommand(TaskServiceSession.java:311) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final] at org.jbpm.task.service.TaskServiceSession.taskOperation(TaskServiceSession) .java:426) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final] org.jbpm.task.service.local.LocalTask​​Service.resume(LocalTask​​Service.java:264) [ com.st.ams.task.management.TaskManager.resumeTask(TaskManager.java:320) [クラス:]

クラッシュ後、すべて問題なく、再開プロセスが利用可能で、最後まで進むことができます。しかし、他のすべての新しいプロセスがクラッシュします。アプリケーションの再デプロイ、サーバーの再起動、分離レベルの変更などを試みましたが、何も機能しません。唯一の解決策は、すべてのテーブルを削除してデータベースを再構築し、すべてのプロセスが再び機能するようにすることです。

これは、私をブロックしているエラーのスタック トレースです。

17:02:09,370 情報 [標準出力] (http--127.0.0.1-8080-5) 休止状態: 17:02:09,370 情報 [標準出力] (http--127.0.0.1-8080-5) 挿入 17:02:09,371 INFO [stdout] (http--127.0.0.1-8080-5) into 17:02:09,371 INFO [stdout] (http--127.0.0.1-8080-5)
PeopleAssignments_PotOwners 17:02:09,371 INFO [stdout] (http --127.0.0.1-8080-5) (タスク ID、エンティティ ID) 17:02:09,371 情報 [標準出力] (http--127.0.0.1-8080-5) 値 17:02:09,372 情報 [標準出力] (http-- 127.0.0.1-8080-5) (?, ?)

17:02:09,380 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http--127.0.0.1-8080-5) SQL エラー: 1452、SQLState: 23000 17:02:09,380 エラー [org.hibernate. engine.jdbc.spi.SqlExceptionHelper] (http--127.0.0.1-8080-5) 子行を追加または更新できません: 外部キー制約が失敗しました ( jbpm_test. peopleassignments_potowners, CONSTRAINT FK1EE418D2C122ED2FOREIGN KEY ( entity_id) REFERENCES organizationalentity( id) ON DELETE NO ACTION ON UPDATE CASCADE) 17:02:09,383 WARN [com.arjuna.ats.arjuna] (http--127.0.0.1-8080-5) ARJUNA012125: TwoPhaseCoordinator.beforeCompletion - SynchronizationImple< 0:ffff0a838a14:-384e4b5d:516820a6:25d で失敗しました。 org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization@14db649

: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: 子行を追加または更新できません: 外部キー制約が失敗しました ( jbpm_test. peopleassignments_potowners, CONSTRAINT FK1EE418D2C122ED2FOREIGN KEY ( entity_id) REFERENCES organizationalentity(id) ON DELETE NO ACTION ON UPDATE CASCADE) at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1361) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final] at org.hibernate. ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1289) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1295) [hibernate -entitymanager-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.ejb.AbstractEntityManagerImpl$CallbackExceptionMapperImpl.mapManagedFlushFailure(AbstractEntityManagerImpl.java:1481) [hibernate-entitymanager-4.0.1.Final.jar:4.0 .1.Final] org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl で。beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:109) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:53) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76) で com.arjuna.ats .arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:273) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:93) at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction) .java:164) com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1165) com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:117) で com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75) で org.jboss .tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:167) at org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:179) [drools-persistence-jpa-5.5.0.Final.jar :5.5.0.Final] at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:376) [drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final] at org.drools. command.impl.CommandBasedStatefulKnowledgeSession$1.abortWorkItem(CommandBasedStatefulKnowledgeSession.java:156) [drools-core-5.5.0.Final.jar:5.5.0.Final] at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler$TaskCompletedHandler.handleCompletedTask(GenericHTWorkItemHandler.java:276) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final] at org .jbpm.process.workitem.wsht.GenericHTWorkItemHandler$TaskCompletedHandler.execute(GenericHTWorkItemHandler.java:234) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final] at org.jbpm.task .service.local.LocalTask​​Service$SimpleEventTransport.trigger(LocalTask​​Service.java:329) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final] at org.jbpm.task.event.MessagingTaskEventListener .triggerPayload(MessagingTaskEventListener.java:76) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final] org.jbpm.task.event.MessagingTaskEventListener.handleEvent(MessagingTaskEventListener.java:92) ) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final] at org.jbpm.task.event.MessagingTaskEventListener.taskCompleted(MessagingTaskEventListener.java:109) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0. Final] at org.jbpm.task.event.TaskEventSupport.fireTaskCompleted(TaskEventSupport.java:49) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final] at org.jbpm.task .service.TaskServiceSession.postTaskCompleteOperation(TaskServiceSession.java:569) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final] at org.jbpm.task.service.TaskServiceSession.taskOperation(TaskServiceSession) .java:495) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final] at org.jbpm.task.service.local.LocalTask​​Service.complete(LocalTask​​Service.java:83) [ jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final] org.jbpm.task.service.local.LocalTask​​Service.completeWithResults(LocalTask​​Service.java:91) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final] com.st.ams.task.management.TaskManager.completeTask(TaskManager.java: 295) [クラス:]

jbpm がトランザクション外でテーブルをロックする可能性はありますか??

4

1 に答える 1

0

最初の例外は、現在の状態では許可されていないタスクで操作を実行しようとしているという事実によって発生します。この特定のケースでは、中断されていないタスクを再開しようとしていると想定しています。たとえば、進行中ではないタスクを完了しようとすると、同様の例外が発生します。

2 番目の例外は、不明なタスクの潜在的な所有者が原因のようです。すべての潜在的なユーザーを事前にタスク サービスに追加するか、ユーザー グループ コールバックを使用して動的に管理します。

あなたのスタック トレースを見て、私は 1 つの奇妙なことに気付きました:

org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler の [drools-core-5.5.0.Final.jar:5.5.0.Final] $TaskCompletedHandler.handleCompletedTask(GenericHTWorkItemHandler.java:276)

エンジンが完了状態のタスク (完了したばかり) を見つけることができないため、作業項目が完了ではなく中止されたようです (これは、タスクに対して行っているようです)。何が原因なのかはわかりませんが、タスクを完了しているトランザクションと同じトランザクションでハンドラーが実行されていないようです。

使用されなくなった他の古い ksession、タスク サービス、および/またはハンドラーがまだアクティブでないことを確認することをお勧めします。タスク サービスごとにローカル タスク サービス セッションを 1 つだけ作成してみてください。

クリス

于 2013-04-21T23:57:05.707 に答える