首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Spring属性设置事务隔离级别

通过Spring属性设置事务隔离级别
EN

Stack Overflow用户
提问于 2017-11-16 16:33:16
回答 1查看 3.2K关注 0票数 2

我有一个spring引导应用程序,我已经通过属性文件配置了大多数属性。但是,我正在寻找通过Spring属性设置TRANSACTION_ISOLATION_LEVEL的方法。有人能帮我吗。

我正在以以下方式初始化数据源bean:

代码语言:javascript
复制
@Bean
@ConfigurationProperties(prefix="spring.datasource")
public DataSource dataSource() {
    return buildDataSource("spring.datasource");
}

private DataSource buildDataSource(String propPrefix) {
 Stirng driverClassName = env.getProperty(propPrefix + ".driver-class-name");
 return DataSourceBuilder.create()
        .driverClassName(driverClassName)
        .build();
}

请有人帮助我如何通过属性或在数据源初始化期间指定TRANSACTION_ISOLATION_LEVEL。

EN

回答 1

Stack Overflow用户

发布于 2021-09-14 06:53:49

因此,javax.sql.DataSource不提供设置默认事务隔离级别的方法。,您可以这样做,但是您必须严格执行特定的实现。让我给你举几个例子:

  1. 如果您使用Apache BasicDataSource实现的DataSource,那么您可以使用这是给DBCP.
  2. 如果您使用的是Apache BasicDataSource,,但是对于DBCP2,您可以做一些类似于的事情。
  3. 但是在大多数情况下,如果我们谈论Spring,我们使用Hikari连接池。因此,对于HikariCP,您可以使用方法。

这同样适用于Spring。让我解释一下-使用Spring属性文件,您可以设置默认事务隔离级别,但是对于特定的DataSource,我指的是这个属性:

代码语言:javascript
复制
spring.datasource.hikari.transaction-isolation

正如您可能注意到的,让您为HikariCP设置默认事务隔离级别(如果使用的话),并设置以下属性:

代码语言:javascript
复制
spring.datasource.dbcp2.default-transaction-isolation

允许您为DBCP2配置默认隔离级别。

希望它有所帮助,祝你今天愉快!)

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

https://stackoverflow.com/questions/47334786

复制
相关文章

相似问题

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