я столкнулся это сообщение об ошибке:
Ошибка создания боб с именем «jdbcWriter», инициализация боба не удалось, не удалось преобразовать значение свойства типа «$ Proxy0 до требуемого типа для свойства„itemPreparedStatementSetter“.
Это мой код:
<beans:bean id="jdbcWriter"
class="org.springframework.batch.item.database.JdbcBatchItemWriter">
<beans:property name="dataSource" ref="dataSource"/>
<beans:property name="sql" value="update Trans_Tst set (amount) values (?)
where id= ?"/>
<beans:property name="itemPreparedStatementSetter"
ref="WriterSqlParameterSetter"/>
</beans:bean>
<beans:bean id="WriterSqlParameterSetter"
class="sa.com.anb.itg.dev.settlement.batch.WriterSqlParameterSetter" scope="step">
<beans:property name="amount" value="#{jobParameters[amount]}"/>
<beans:property name="id" value="#{jobParameters[id]}"/>
</beans:bean>
public class WriterSqlParameterSetter implements
ItemPreparedStatementSetter<transactionas>{
public void setValues(transactionas ts, PreparedStatement ps) throws SQLException {
ps.setDouble(1, ts.GetAmount());
ps.setInt(2, ts.GetID());
}
}
может кто-нибудь помочь мне решить эту ошибку? Эта ошибка имеет какое-либо отношение к значению свойств WriterSqlParameterSetter
?
Я не пытался передать параметры, я просто хотел, чтобы ItemWriter получал значения от транзакций, и я думал, что это правильный способ сделать это, потому что ресурсов недостаточно для изучения. – user1744446
Итак, просто удалите scope = step в вашей конфигурации bean-файла WriterSqlParameterSetter, а также удалите определение свойств 2. это должно решить проблему – Cygnusx1