@Bean(destroyMethod="")
@StepScope
public StoredProcedureItemReader<TransactionReportingBean> dataExtractReader(
@Value("#{jobParameters[clientName]}") String clientName) throws Exception {
StoredProcedureItemReader<TransactionReportingBean>
storedProcedureItemReader = new StoredProcedureItemReader<>();
storedProcedureItemReader.setDataSource(sybaseIqSource);
storedProcedureItemReader.setProcedureName("getResult"); /**getClientPositionIBORData**/
SqlParameter[] parameters = {new SqlParameter("ClientName", Types.VARCHAR)};
storedProcedureItemReader.setParameters(parameters);
storedProcedureItemReader.setPreparedStatementSetter(new PreparedStatementSetter() {
@Override
public void setValues(PreparedStatement arg0) throws SQLException {
arg0.setString(1,clientName);
}
});
storedProcedureItemReader.setRowMapper(new BeanPropertyRowMapper<TransactionReportingBean>(TransactionReportingBean.class));
storedProcedureItemReader.afterPropertiesSet();
storedProcedureItemReader.setVerifyCursorPosition(false);
storedProcedureItemReader.close();
return storedProcedureItemReader;
}
错误:
首先,您需要删除StoredProcedureItemReader.close()
,Spring批处理将在结果集的末尾自动关闭读取器。
根据stacktrace,您可能需要将refcursorposition
设置为1:
storedProcedureItemReader.setRefCursorPosition(1);
希望这有帮助。
我正在尝试使用StoredProcedureItemReader for Cursor读取spring批处理中的一个DB2存储过程。sql字符串未被执行,默认sql被传递给jdbctemplate 我正在使用由作业调用的批处理步骤: 为什么我没有得到结果集或者无法执行查询。我是个新手,有点卡住了。调试显示,数据源配置正确。 谢谢!
我得到了非法状态例外。我试图通过设置以下参数来解决它 有人知道怎么回事吗? 我在Application.Properties中的配置如下: @计划参数 ETL.Scheduler.Frequency=3600000 这是ItemReader实现的重要部分。如果需要更多的信息,请告诉我。 编辑 我所有的bean都在配置文件中,所以我一开始就初始化它们。并使用排定程序运行作业。为什么作业执行再次尝试重
我必须在Spring批处理作业中实现以下用例: 通过读取提供程序列表 遍历列表,并为步骤1中找到的每个提供程序(作为输入参数)调用另一个。 第二个SP的输出将写入CSV。 我提出了以下策略: 第1步开始 SP ItemReader返回提供程序列表。 在ItemWriter中,将提供程序保存到 步骤1结束 第2步开始 另一个SP项目读取器从访问提供程序 另一个ItemWriter使用FlatFile
本文向大家介绍mybatis-plus批处理IService的实现示例,包括了mybatis-plus批处理IService的实现示例的使用技巧和注意事项,需要的朋友参考一下 一、pom文件引入 二、Controller层 三、IService层(此处请确保继承的是 mybatisplus下的 IService,上述的UserInfoEntity为实体类) 四、ServiceImpl(UserIn
本文向大家介绍python实现感知器算法(批处理),包括了python实现感知器算法(批处理)的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Python感知器算法实现的具体代码,供大家参考,具体内容如下 先创建感知器类:用于二分类 然后为Iris数据集创建一个Iris类,用于产生5折验证所需要的数据,并且能产生不同样本数量的数据集。 然后我们进行训练测试,先使用one agains
我正在尝试更改现有的spring批处理作业(XML配置),它从oracle数据库读取数据,并以所需格式写入txt和XML文件,但现在我想更改相同的实现,从Cassandra数据库而不是oracle读取数据,但我在spring批处理中找不到类似于JdbcCursorItemReader的项目读取器。 有人能告诉我应该使用哪个ItemReader从Cassandra DB读取数据吗?或者我需要创建一个