Results 1 to 1 of 1

Thread: Can't get proxy-target-class to work

  1. #1
    Join Date
    Mar 2011
    Posts
    9

    Default Can't get proxy-target-class to work

    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

    Code:
    	<!-- 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>
    Even though I declared my StepScope bean to use proxy-target-class I'm still getting this error

    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
    Why doesn't my proxy-target-class working?

    Thanks
    Last edited by gomdolyi; Apr 8th, 2011 at 12:56 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •