Empty file check support
Summer.Batch.Extra.EmptyCheckSupport.EmptyFileCheckTasklet
is dedicated to check if a given file is empty or not. It returns an ExitStatus "EMPTY" if the file is empty or absent, "NOT_EMPTY" if it exists and is not empty.
The only mandatory property is FileToCheck; it points at the target file resource to be checked for existence/emptiness.
Configuring the EmptyFileCheckTasklet in the job XML file:
Example 7.14. Typical EmptyFileCheckTasklet
usage in the job XML file¶
<step id="S01_EmptyFileCheck">
<batchlet ref="S01_EmptyFileCheckBatchlet" />
<next on="NOT_EMPTY" to="S02_Writer" />
<next on="EMPTY" to="S03_Writer" />
</step>
<step id="S02_Writer" next="S03_Writer">
<chunk item-count="1000">
<reader ref="S02_Writer/Reader" />
<writer ref="S02_Writer/Writer" />
</chunk>
</step>
<step id="S03_Writer">
<chunk item-count="1000">
<reader ref="S03_Writer/Reader" />
<writer ref="S03_Writer/Writer" />
</chunk>
</step>
Note
Recommendation: Usage should use of the returned ExitStatus as a switch to organize the job execution flow, as demonstrated by the example above.
Example 7.15. Sample Unity configuration for a EmptyFileCheckTasklet
¶
…
// Step S01_EmptyFileCheck - Empty file check step
private void RegisterS01_EmptyFileCheckTasklet(IUnityContainer container)
{
container.StepScopeRegistration<ITasklet,EmptyFileCheckTasklet>("S01_EmptyFileCheckBatchlet")
.Property("FileToCheck").Resource("#{settings['BA_EMPTY_FILE_SB.S01_EmptyFileCheck.FILENAME_IN']}")
.Register();
}
…