spring Batch中bean被多次代理的有关问题
spring Batch中bean被多次代理的问题
今天debug一个项目的时候,发现很奇怪的日志,一个bean会多次反复被代理。
经过多方测试发现罪魁祸首就是下面这段声明
一个项目中如果出现多次声明,就会导致bean被代理多次。删除项目中的重复声明,问题解决。
根据spring batch官方定义,这个声明只是为了让bean延迟绑定,不知为何会出现这种循环延迟绑定。
http://static.springsource.org/spring-batch/reference/html/configureStep.html#step-scope
今天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 class="org.springframework.batch.core.scope.StepScope" />
一个项目中如果出现多次声明,就会导致bean被代理多次。删除项目中的重复声明,问题解决。
根据spring batch官方定义,这个声明只是为了让bean延迟绑定,不知为何会出现这种循环延迟绑定。
http://static.springsource.org/spring-batch/reference/html/configureStep.html#step-scope