Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JpaTransactionManager没有';t回滚事务_Java_Spring_Transactions_Spring Data Jpa_Jhipster - Fatal编程技术网

Java JpaTransactionManager没有';t回滚事务

Java JpaTransactionManager没有';t回滚事务,java,spring,transactions,spring-data-jpa,jhipster,Java,Spring,Transactions,Spring Data Jpa,Jhipster,我使用JHipster制作了一个简单的应用程序并编写了一个服务,代码如下: @Service @Transactional public class OperateQueueActionService { @Transactional(rollbackFor = Throwable.class) public OperateQueueDTO apply(OperateQueueDTO operateQueueDTO, QueueEventType queueEventType,

我使用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();
       }
    }
}
@服务
@交易的
公共类OperationeActionService{
@事务(rollboor=Throwable.class)
要应用的公共运算符(OperateQueueTo OperateQueueTo,QueueEventType,QueueEventType,String deskNo){
StateMachine StateMachine=OperationEueActionMachineService.getStateMachine();
请尝试{QueueEventDTO OperateQueueEventTo=operateQueueUtils.saveQueueEvent(OperateQueueUedTo,queueEventType,deskNo);
…进程中将引发RuntimeException。
}最后{
stateMachine.stop();
}
}
}
我希望事务回滚,而不是保存
queueEvent
,但记录保存在数据库中。这是事务日志:

[2018-07-24 12:04:51.861][XNIO-2任务-6]警告
o、 s.s.l.CompositeStateMachineListener-状态上下文期间出错
java.lang.RuntimeException:无效状态  在
stateContext(OperateQueueStateMachinelGlistener.java:58)
在java.lang.Thread.run(Thread.java:745)[2018-07-24 12:04:51.871]
[XNIO-2任务-6]信息c.h.q.s.u.运营商房地产机械润滑油
-4d667539-3316-491d-a0db-240e29b0fcae状态机状态为:状态机停止[2018-07-24 12:04:51.872][XNIO-2任务-6]调试
o、 s.orm.jpa.JpaTransactionManager-启动事务提交
[2018-07-2412:04:51.874][XNIO-2任务-6]调试
o、 s.orm.jpa.JpaTransactionManager-在上提交jpa事务
实体管理器


JPA配置没有问题,spring状态机已捕获在StateMachineListenerAdapter中引发的异常。

operateQueueUtils是什么样子?@Service@Transactional public class operateQueueUtils{public OperateQueueUedTo save(OperateQueueDTO OperateQueueDTO){OperateQueueUedTo OperateQueueU1=operateQueueService.save(OperateQueueEdTo);sendQueueChangeNotifyMsg(OperateQueueEdTo1);返回OperateQueueEdTo1;}保存QueueEvent的公共QueueEvent(OperateQueueEdTo OperateQueueEdTo,QueueEventType QueueEventType,String deskNo){QueueEventDTO=new QueueEventDTO();QueueEventDTO.SetOperateQueueEdTo(OperateQueueEdTo.getDescription());返回queueEventService.save(queueEventDTO);我的数据库是Oracle我也遇到同样的问题,你怎么解决的?