Spring AOP 事務不是工作在以下攔截器?
<bean id="testAutoProxyCreator"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="interceptorNames">
<list>
<idref bean="urlInterceptorInsert" />
<idref bean="urlInterceptorCommit" />
<idref bean="urlInterceptorRelease" />
<idref bean="matchGenericTxInterceptor" />
</list>
</property>
<property name="beanNames">
<list>
<idref local="urlBo" />
</list>
</property>
</bean>
matchGenericTxInterceptor”事務攔截器,假設來攔截器 urlInterceptorInsert,urlInterceptorCommit,urlInterceptorRelease, 但不能如預期一樣工作?
解決
3個攔截器在事務管理器攔截器(matchGenericTxInterceptor)之前執行。
為了解決這個問題,必須改變攔截器 XML檔的順序,如下面的(把 matchGenericTxInterceptor 放在頂部)。
<bean id="testAutoProxyCreator"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="interceptorNames">
<list>
<idref bean="matchGenericTxInterceptor" />
<idref bean="urlInterceptorInsert" />
<idref bean="urlInterceptorCommit" />
<idref bean="urlInterceptorRelease" />
</list>
</property>
<property name="beanNames">
<list>
<idref local="urlBo" />
</list>
</property>
</bean>
