我正在寻找一种很好的方法,从弹簧批处理中的JDBC数据源导出到csv文件,上传到FTP,并将行标记为从读表中导出(存在列exportdate)。
我找不到以事务方式执行此操作,以便只有在文件上载成功时才将该行标记为已导出。
答案 0 :(得分:0)
你需要一个两步的工作
第一步:标准读取(来自JDCB),进程(从CSV条目转换记录)和常规写入(使用FlatFileItemWriter)。
第二步:使用Spring集成将文件上传到FTP。
关于专栏exportdate
,您可以实现从ItemWriteListener.afterWrite
更新专栏的目标,因为它是
在ItemWriter.write(java.util.List)之后调用。这将被称为 在任何交易提交之前,之前 ChunkListener.afterChunk(ChunkContext)
我希望这可以提供帮助