How to implement File Update logic in Chunk Proces

2019-08-24 04:05发布

I am trying to develop a Java batch program using the IBM's JSR352 Implementation. Since the batch job involves iteratively processing huge number of records, I chose to implement it as Chunk Processing job.

This job involves of 3 steps which keeps repeated for each records in File 1

  1. Reader Class: Read content from File 1 to form a key text
  2. Processor Class: Look-up the Key text in File 2
  3. Writer Class: Update the text in File 2 where key text was found with a custom text

From the processor to writer, I can return all line numbers where the key text matches were found. But, without RandomAccess to file, how can i update those specific line numbers in File 2 from my Writer?

Since I am restricted to use only these Input/Outputstreams for file handling I am unable to split the Lookup & Update logic between processor & writer classes. How can i achieve this ?

This is because the code will be developed in a windows machine but, finally executed in a mainframe (z/os) server.

2条回答
你好瞎i
2楼-- · 2019-08-24 04:23

The processor is technically optional, so you could merge the lookup/update logic in just the writer class. That might help.

On z/OS this is easier to do with a VSAM dataset (also accessible via the JZOS ZFile APIs). But that's going to be hard to develop/test on Windows. I suppose you could keep the ZFile calls separate and on Windows replace them with some rigged up emulation that would work well enough for testing purposes.

查看更多
ら.Afraid
3楼-- · 2019-08-24 04:44

I finally had to drop the JZOS FileFactory based approach and use the JZOS ZFile's locate API to find the the specific lines (using keys) and update it from the writer.

查看更多
登录 后发表回答