【发布时间】:2018-01-11 00:19:48
【问题描述】:
我正在开发应该在 zOS(大型机)上执行/触发的 spring 批处理应用程序。我必须在 zos 中读取/写入平面文件作为 Spring Batch 中的输入文件并进行一些处理。我们有一些工作示例吗? spring batch 有直接读取大型机平面文件的能力吗?如果是这样,你能给我一些工作的例子。提前致谢
【问题讨论】:
-
“大型机平面文件”是一个加载语句。我确实有一些代码可以演示如何阅读通过 COBOL 抄写本定义的文件。你可以在这里找到:github.com/mminella/COBOL-SpringXD-Source。但是,如果您可以就您要阅读的具体内容提供更多见解,我可以提供更清晰的指导。
-
嗨迈克尔,我想阅读一个简单的逗号分隔值文件。但我必须使用弹簧批处理,因为它有一个叫做 ItemReader 接口的东西。它有多种实现,如 FlatFileReader 等。我想知道我是否可以使用 spring batch 提供的这个阅读器来读取 Mainframe 文件。如果是的话,一些参考/示例代码。
-
如果是 ASCII 文件,您应该可以使用现有工具读取它。如果是 EBCDIC,则需要使用自己的
ItemReader实现。 -
是的,它是 ASCII 文件。我在 github 上看到了你的演示。如果我使用预定义的 FlatFileItemReader 并假设我的平面文件是 SB950.BLPRIC.BL376T2.D1511700 (same as yours) 。下面的代码会起作用吗? FlatFileItemReader 阅读器 = new FlatFileItemReader(); reader.setResource(new ClassPathResource("SB950.BLPRIC.BL376T2.D1511700"));你的例子中“/data”的意义是什么?
-
@Swaroop你有Cobol Copybook吗???,既然是ascii文件,你应该可以把它当作标准的定宽文件来处理。
标签: java spring-boot io spring-batch zos