Spring Change Transaction Isolation Mode

时间:2018-03-02 09:13:02

标签: java spring spring-boot spring-transactions transactional

我想通过Spring注释将事务隔离模式更改为serializable,但我得到一个例外:

@Transactional(isolation = Isolation.SERIALIZABLE)

org.springframework.transaction.InvalidIsolationLevelException:
JtaTransactionManager does not support custom isolation levels by default - switch 'allowCustomIsolationLevels' to 'true'

我正在使用Atomikos事务管理器。

是否可以使用Spring Boot application.properties文件执行此操作?否则在Java中怎么做(我不想使用xml配置)?

由于

2 个答案:

答案 0 :(得分:1)

您可以自定义和覆盖spring boot

使用的默认Jta事务管理器
@Bean public PlatformTransactionManager platformTransactionManager() {
 JtaTransactionManager manager = new JtaTransactionManager()
   manager.setAllowCustomIsolationLevels(true);
 return manager ; }

答案 1 :(得分:0)

我找到了解决异常<template> <div id="wrapper"> // or class="wrapper" ? <button id="myBtn">CLICK</button> // or class="myBtn" ? <div v-for="i in 5" :key="i" class="myDiv">{{i}}</div> // sure class in this case :D </div> </template>

的解决方案
(IllegalStateException: No JTA UserTransaction available - specify either 'userTransaction' or 'userTransactionName' or 'transactionManager' or 'transactionManagerName')

感谢您的帮助。

有没有人有更好的解决方案?