spring tx:annotation-driven忽略在tomcat中启用加载时间编织时的模式

时间:2010-11-08 21:42:33

标签: spring tomcat transactions spring-aop

我正在尝试使用注释配置事务。当我在启用了加载时间编织的环境中运行时(例如,tc服务器或带有编织类加载器的tomcat),似乎我的事务拦截由aspectj处理,但由于它没有完全配置它不起作用(I得到一条消息"Skipping transactional joinpoint [<method name>] because no transaction manager has been configured")。

我的配置说明<tx:annotation-driven mode="proxy" transaction-manager="transactionManager" />。那些应该都是默认值,但我明确指定代理模式并获得aspectj模式。如果我切换到模式aspectj它可以工作,但我们的生产环境没有启用LTW,我更喜欢在任何地方使用模式代理。

知道发生了什么事吗?我在Spring 3.0.5上,正在使用HibernateTransactionManager

1 个答案:

答案 0 :(得分:1)

您必须在spring xml中定义transactionManager bean。

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