Spring 专题
专题目录
您的位置:java > Spring专题 > Spring AOP拦截器的序列
Spring AOP拦截器的序列
作者:--    发布时间:2019-11-20
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>

注 spring aop的拦截器的顺序对功能有影响。


网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册