首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JpaTransactionManager不回滚事务

JpaTransactionManager不回滚事务
EN

Stack Overflow用户
提问于 2018-07-24 06:37:07
回答 1查看 334关注 0票数 0

我使用JHipster制作一个简单的应用程序并编写一个服务,代码如下:

代码语言:javascript
复制
@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 o.s.s.l.CompositeStateMachineListener -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 c.h.q.s.u.OperateQueueStateMachineLogListener -4d667539-3316-491d-a0db-240e29b0fcae状态机状态为:STATEMACHINE_STOP [2018-07-24 12:04:51.872] [XNIO-2 task-6] DEBUG o.s.orm.jpa.JpaTransactionManager -Initiating transaction commit [2018-07-24 12:04:51.874] [XNIO-2 task-6] DEBUG o.s.orm.jpa.JpaTransactionManager -Committing JPA transaction on EntityManager

EN

回答 1

Stack Overflow用户

发布于 2018-07-24 08:12:20

JPA配置没有问题,spring状态机已经捕获了在StateMachineListenerAdapter中抛出的异常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51491985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档