Spring Annotation驱动程序与AspectJ问题的事务

时间:2011-08-31 05:57:44

标签: hibernate java-ee aspectj spring-transactions

我正在使用AspectJ编译时编织和弹簧3.O.和Hibernate 3.0 ... AspectJ编织工作正常,如日志这样的简单事情,但这对于事务无法正常工作

<tx:annotation-driven transaction-manager="transactionManager"
    mode="aspectj" order="1" />
<bean id="transactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory">
        <ref bean="sessionFactory" />
    </property>
</bean>

sprong-aspects jar也存在于lib forlder中,但仍然没有事务支持..

我正在使用这样的

@Transactional(readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void invokeService() throws Exception {
    insertUpdatePolicy();
}

日志记录没有指定任何transactions..transactions正在使用spring aop工作正常但在spring容器中未定义类时没有使用aspectj

2 个答案:

答案 0 :(得分:0)

请发布失败的实际代码。

启用日志记录。检查日志以查看是否甚至管理了事务。如果是,那么可能存在配置事务的方式的问题。

答案 1 :(得分:0)

我找到了这个问题的答案,

我们需要记住的一件事是,我们需要将spring-aspects.jar放置到我的Aspect Path而不是java class path.otherwise weaving不会完成,并且事务不起作用。

我在spring = bean config中配置后遗漏了第二件事。

<bean class="org.springframework.transaction.aspectj.AnnotationTransactionAspect" factory-method="aspectOf">
<property name="transactionManager" ref="transactionManager"/>