Java 使用JdbcCursorItemReader的Spring批处理Bean继承
我面临着SpringBatch的一个问题,这通常非常简单 我有多个步骤,面向块处理。对于每个步骤,我都希望使用相同的ItemReaderJava 使用JdbcCursorItemReader的Spring批处理Bean继承,java,spring,spring-batch,Java,Spring,Spring Batch,我面临着SpringBatch的一个问题,这通常非常简单 我有多个步骤,面向块处理。对于每个步骤,我都希望使用相同的ItemReader <bean id="myItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader" scope="step"> <property name="dataSource" ref="dataSource" /&
<bean id="myItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader"
scope="step">
<property name="dataSource" ref="dataSource" />
<property name="sql"
value="select * from ...."/>
<property name="rowMapper">
<bean class="MyRowMapper" />
</property>
</bean>
我做错了什么?如果你需要更多的细节,请告诉我
谢谢你的帮助。好的,我终于成功了!感谢@M.Deinum,我在声明中使用了摘要。我是这样做的:
<bean id="myItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader"
scope="step" abstact="true">
谢谢大家的帮助 对不起,你是对的,所以我删除了我的答案。让我重新看看你的设置。你在看哪个版本的批处理?我正在查看的版本只有
sql
属性的getter。我目前在3.0.6.0版本上。遗憾的是,我无法升级它…请将父级标记为abstract
。
<bean id="mySpecificItemReader" parent="myItemReader" >
<property name="preparedStatementSetter" ref="mySpecificStatement"/>
</bean>
<bean id="mySpecificStatement" class="PreparedStatementSpecificProduct">
<property name="product" value="XXX" />
</bean>
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'preparedStatementSetter' of bean class [org.springframework.aop.scope.ScopedProxyFactoryBean]: Bean property 'preparedStatementSetter' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
<bean id="myItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader"
scope="step" abstact="true">
<bean id="mySpecificItemReader" parent="myItemReader" scope="step">
<property name="preparedStatementSetter">
<bean id="mySpecificStatement" class="PreparedStatementSpecificProduct">
<property name="product" value="XXX" />
</bean>
</property>
</bean>