首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在基于spring注解的事务中设置隔离级别

问在基于spring注解的事务中设置隔离级别
EN

Stack Overflow用户
提问于 2011-03-03 21:58:40
回答 1查看 9.4K关注 0票数 10

我在我的项目中使用了基于注释的事务管理(我用@ transaction注释了一些方法)。我想全局设置隔离级别(而不是将其作为参数放到每个@Transactional注释中)。

是否可以在XML中对其进行配置?当前我的xml配置包含

代码语言:javascript
复制
<tx:annotation-driven transaction-manager="txManager"/>
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
   <property name="dataSource" ref="dataSource" />
</bean>

有没有可能以某种方式将隔离添加到tx:注解驱动?

EN

回答 1

Stack Overflow用户

发布于 2011-03-04 07:54:31

如果您配置了一个非默认的事务隔离(例如,通过在@ transaction注解中指定它),Spring的事务管理就会在Connection上设置事务隔离。如果您可以配置连接的事务隔离,同时确保没有其他机制更改连接的事务隔离,那么您实际上全局设置了应用程序使用的事务隔离。

例如,Commons DBCP BasicDataSource类定义defaultTransactionIsolation属性来设置从池返回的连接的事务隔离:

代码语言:javascript
复制
<bean
    id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource"
    destroy-method="close">
  <property name="driverClassName" value="${jdbc.driverClassName}"/>
  <property name="url" value="${jdbc.url}"/>
  <property name="username" value="${jdbc.username}"/>
  <property name="password" value="${jdbc.password}"/>
  <property name="defaultTransactionIsolation">
    <util:constant static-field="java.sql.Connection.TRANSACTION_READ_COMMITTED"/>
  </property>
</bean>
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5181652

复制
相关文章

相似问题

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