簡體   English   中英

JpaTransactionManager不回滾事務

[英]JpaTransactionManager doesn't rollback transaction

我使用JHipster制作一個簡單的應用程序並編寫服務,代碼如下:

@Service
@Transactional
public class OperateQueueActionService {
    @Transactional(rollbackFor = Throwable.class)
    public OperateQueueDTO apply(OperateQueueDTO operateQueueDTO, QueueEventType queueEventType, String deskNo) {
    StateMachine<QueueStatus, QueueEventType> stateMachine = operateQueueActionMachineService.getStateMachine();
    try {   QueueEventDTO operateQueueEventDTO = operateQueueUtils.saveQueueEvent(operateQueueDTO, queueEventType, deskNo); 
         ......in process will throw RuntimeException.
        } finally {
           stateMachine.stop();
       }
    }
}

我希望事務回滾,而不要保存queueEvent ,但是記錄將保存在數據庫中。 這是事務日志:

[2018-07-24 12:04:51.861] [XNIO-2 task-6] WARN osslCompositeStateMachineListener -Error during stateContext java.lang.RuntimeException: 無效狀態 at com.higoee.queue.state.utils.OperateQueueStateMachineLogListener.stateContext(OperateQueueStateMachineLogListener.java:58) at java.lang.Thread.run(Thread.java:745) [2018-07-24 12:04:51.871] [XNIO-2 task-6] INFO chqsuOperateQueueStateMachineLogListener -4d667539-3316-491d-a0db-240e29b0fcae狀態機狀態為:STATEMACHINE_STOP [2018-07-24 12:04:51.872] [XNIO-2 task-6] DEBUG osorm.jpa.JpaTransactionManager -Initiating transaction commit [2018-07-24 12:04:51.874] [XNIO-2 task-6] DEBUG osorm.jpa.JpaTransactionManager -Committing JPA transaction on EntityManager

JPA配置沒有問題,彈簧狀態機已捕獲到StateMachineListenerAdapter中引發的異常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM