木头人的gravatar头像
木头人 2017-03-14 18:11:03
@Transactional在spring.xml中也配置了事务的问题

最近遇到个问题,在方法上使用@Transactional,在spring.xml中也配置了事务,

<bean  id="portalTransactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="csportalDataSource" />
    </bean>

却报这个错误:

java.lang.IllegalStateException: No matching PlatformTransactionManager bean found for qualifier 'transactionManagerExt' - neither qualifier match nor bean name match!
    at org.springframework.transaction.interceptor.TransactionAspectUtils.getTransactionManager(TransactionAspectUtils.java:91)
    at org.springframework.transaction.interceptor.TransactionAspectUtils.getTransactionManager(TransactionAspectUtils.java:53)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.determineTransactionManager(TransactionAspectSupport.java:245)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:100)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)

最后才发现没有配置:

   <tx:annotation-driven transaction-manager="portalTransactionManager" order="0"/>

<tx:annotation-driven>这个配置的作用是开启注解功能。

transaction-manager指明了事务的来源,order指明了事物的执行优先级,order的值越小,优先级越高


打赏
最近浏览
zhonggaobin 2023年6月8日
暂无贡献等级
lihaiye  LV1 2022年1月16日
ls259400  LV1 2020年11月3日
随便取个名字_哈哈  LV27 2020年2月4日
wo是贝爷  LV4 2019年12月1日
58397870  LV6 2019年5月13日
wgc_jy  LV21 2018年2月2日
csf8123  LV1 2017年11月25日
taojava  LV3 2017年11月10日
125741956  LV1 2017年10月11日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友