读书人

spring Batch中bean被多次代理的有关问

发布时间: 2013-01-01 14:04:18 作者: rapoo

spring Batch中bean被多次代理的问题
今天debug一个项目的时候,发现很奇怪的日志,一个bean会多次反复被代理。

DEBUG [main][org.springframework.aop.framework.JdkDynamicAopProxy:113] - Creating JDK dynamic proxy: target source is PlaceholderTargetSource for target bean 'lazyBindingProxy.lazyBindingProxy.lazyBindingProxy.itemReader'DEBUG [main][org.springframework.aop.framework.JdkDynamicAopProxy:113] - Creating JDK dynamic proxy: target source is PlaceholderTargetSource for target bean 'lazyBindingProxy.lazyBindingProxy.itemReader'DEBUG [main][org.springframework.aop.framework.JdkDynamicAopProxy:113] - Creating JDK dynamic proxy: target source is PlaceholderTargetSource for target bean 'lazyBindingProxy.itemReader'

经过多方测试发现罪魁祸首就是下面这段声明
<beans:bean />

一个项目中如果出现多次声明,就会导致bean被代理多次。删除项目中的重复声明,问题解决。
根据spring batch官方定义,这个声明只是为了让bean延迟绑定,不知为何会出现这种循环延迟绑定。
http://static.springsource.org/spring-batch/reference/html/configureStep.html#step-scope

读书人网 >开源软件

热点推荐