我在Apache Tomcat6.0.29上使用Spring3.0.3、MyBatis 3.0.2和mybatis-spring 1.0.0。
我使用了spring的声明性事务来进行事务管理。问题是事务对我不起作用。事务只工作一次,之后就什么也不做了。
我试着检查了我所有的配置,但没有线索。有什么建议吗?
我的配置如下所示-
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="dtxops"
expression="execution(* com.service.*.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="dtxops" />
</aop:config>注释后编辑
我启动服务器并执行一些事务性功能,有时工作,有时不工作。有时它会持续工作5-6次,然后突然停止。
TX管理器和DS配置-
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="resourceRef" value="true" />
<property name="jndiName" value="java:comp/env/jdbc/MyDBInstance" />
</bean>发布于 2010-12-16 04:57:46
您是否在Spring或Tomcat中配置了数据源?(Tomcat有一些奇怪的默认设置,即在每条语句后自动提交,我猜这使得在顶部运行DataSourceTransactionManager很困难)
https://stackoverflow.com/questions/4020654
复制相似问题