In one configuration where I defined my writer I have the following
Code:<bean id="genericItemWriter" class="com.....writers.GenericDelegateCompositeItemWriter" scope="step"> <property name="delegates" ref="delegates"/> <property name="writerKeys" value="#{stepExecutionContext['GenericExtract.WRITER_KEY']}"/> <property name="keyColumn" value="#{stepExecutionContext['GenericExtract.KEY_COLUMN']}"/> </bean> <bean class="org.springframework.batch.core.scope.StepScope"> <property name="proxyTargetClass" value="true"/> </bean>
In the other configuration file where I created to run my JUnit test I have the following
Even though I declared my StepScope bean to use proxy-target-class I'm still getting this errorCode:<!-- ItemWriterHelper --> <bean id="itemWriterHelper" class="com.....writer.TestItemWriterHelper" scope="step"> <property name="resource" value="file:c:/itemWriter.txt"/> <property name="lineAggregator" ref="genericLineAggregator"/> <property name="name" value="itemWriterHelper"/> <property name="headerCallback" ref="headerCallback"/> <property name="footerCallback" ref="footerCallback"/> </bean> <bean id="itemWriterHelperA" class="com.....writer.TestItemWriterHelper" scope="step"> <property name="resource" value="file:c:/itemWriterA.txt"/> <property name="lineAggregator" ref="genericLineAggregatorA"/> <property name="name" value="itemWriterHelperA"/> <property name="headerCallback" ref="headerCallback"/> <property name="footerCallback" ref="footerCallbackA"/> <!-- Item Writer Helpers --> <util:map id="delegates" scope="step"> <entry key="itemWriterHelper" value-ref="itemWriterHelper"/> <entry key="itemWriterHelperA" value-ref="itemWriterHelperA"/> </util:map>
Why doesn't my proxy-target-class working?Code:Error creating bean with name 'scopedTarget.scopedTarget.genericItemWriter' defined in class path resource [.../batch/readerwriter/application-context-generic-extract.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'java.util.LinkedHashMap' to required type 'java.util.Map' for property 'delegates'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [$Proxy33 implementing java.io.Serializable,org.springframework.aop.scope.ScopedObject,org.springframework.aop.framework.AopInfrastructureBean,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised,net.sf.cglib.proxy.Factory] to required type [com....writers.AbstractItemWriterHelper] for property 'delegates[itemWriterHelper]': no matching editors or conversion strategy found
Thanks


Reply With Quote