Spring:JTA transaction unexpectedly rolled back (maybe due to a timeout) 事务超时

采用spring框架时,在 Service 层的方法中加上注解 @Transactional 就可以将这个方法加上事务管理。
如果这个方法中处理的业务逻辑比较多,比较耗时,那么可能会出现事务超时的异常

JTA transaction unexpectedly rolled back (maybe due to a timeout)

如果出现这个异常,解决办法是在 @Transactional 中加上 timeout = 3000 ,这个时间就是超时时间,如下

@Transactional(timeout = 3000)

查看源码可以知道这个 timeout 的值默认值是 transaction system 的值。

原文地址:https://www.cnblogs.com/colin220/p/12083154.html