0

私は jBPM5 を使用しており、Bitronix Transaction Manager (BTM) を jBPM プロセス永続ユニットで使用するトランザクション マネージャーとして構成しました。

過去 2 週間からすべてが正常に動作していましたが、突然次の例外で失敗し始め、その結果、アプリケーション サーバーが再起動されました。再起動後、すべてが正常に機能します。

例外スタックトレース:

com.xxx.jbpm.workflow.exception.WorkflowException: Could not commit session or rollback
  at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
  at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334)
  at com.xxx.platform.eventpublisher.xxxEventPublisher.publish(xxxEventPublisher.java:16)
  at com.xxx.xxx.wsserver.impl.dlp.DLPCheckTask.publish(DLPCheckTask.java:97)
  at com.xxx.xxx.wsserver.impl.dlp.DLPCheckTask.run(DLPCheckTask.java:56)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: Could not commit session or rollback
  at org.drools.persistence.SingleSessionCommandService.rollbackTransaction(SingleSessionCommandService.java:406)
  at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:381)
  at org.drools.command.impl.CommandBasedStatefulKnowledgeSession.startProcessInstance(CommandBasedStatefulKnowledgeSession.java:237)
  at com.xxx.jbpm.workflow.services.WorkflowServiceHandler.startWorkflow(WorkflowServiceHandler.java:71)
  at com.xxx.jbpm.workflow.impl.WorkflowManagerImpl.startWorkflow(WorkflowManagerImpl.java:46)
  ... 12 more
Caused by: java.lang.RuntimeException: Unable to rollback transaction
  at org.drools.persistence.jta.JtaTransactionManager.rollback(JtaTransactionManager.java:197)
  at org.drools.persistence.SingleSessionCommandService.rollbackTransaction(SingleSessionCommandService.java:402)
  ... 16 more
Caused by: java.lang.IllegalStateException: no transaction started on this thread
  at bitronix.tm.BitronixTransactionManager.rollback(BitronixTransactionManager.java:150)
  at org.drools.persistence.jta.JtaTransactionManager.rollback(JtaTransactionManager.java:191)
  ... 17 more

大量のトランザクション/ワークフローを開始し、jbpm ライブラリ バージョン 5.5.0.Final の jbpm-human-task-core、jbpm-bpmn2、jbpm-persistence-jpa を使用しています。

誰かが正しい方向を指すのを手伝ってくれませんか?

どうもありがとう、マヤンク

4

1 に答える 1

0

トランザクションのロールバック中に問題が発生しました。ただし、ロールバック自体は別の問題 (おそらくトランザクションの開始に関連する問題) によって引き起こされます。ただし、その例外はここには表示されません。この例外の前に記録された例外はありますか? そうでない場合は、SingleSessionCommandService.rollbackTransaction 操作をデバッグしてみて、どの例外がロールバックをトリガーしているかを確認できますか?

たとえば、最新バージョンではロールバックの原因がすでにログに記録されている必要があるため、正確に使用しているバージョンに関するヘルプが役立ちます: https://github.com/droolsjbpm/drools/blob/master/drools-persistence jpa/src/main/java/org/drools/persistence/SingleSessionCommandService.java#L364

于 2014-12-01T13:05:15.550 に答える