我在wildfly 8.1中使用批处理作业,我想从头开始
执行批处理
然后做出决定,如果结果被接受
我想并行执行一些步骤。
我只是不确定如何在我的myJob.xml
文件
<step id="availableRecords" next="anyRecordsAvailableDecider">
<batchlet ref="availableRecords"/>
</step>
<decision id="anyRecordsAvailableDecider" ref="recordsAvailableDecider">
<next on="recordesAvailable" to="getAvailableRecordsDetails"/>
<stop on="noCardsAvailable"/>
</decision>
<flow id="getAvailableRecordsDetails">
<step id="getRecordTypeA">
<batchlet ref="RecordTypeA"/>
</step>
<step id="getRecordTypeB">
<batchlet ref="RecordTypeB"/>
</step>
<step id="getRecordTypeC">
<batchlet ref="RecordTypeC"/>
</step>
<step id="getRecordTypeD">
<batchlet ref="RecordTypeD"/>
</step>
</flow>
那么可以在getAvailableRecordsDetails流程周围进行拆分,还是应该以某种方式使用分区? 使用分区会很好,因为我可以使用PartitionMapper来获取这些步骤中的一些属性。
答案 0 :(得分:2)
我找到了答案:
<step id="availableRecords" next="anyRecordsAvailableDecider">
<batchlet ref="availableRecords"/>
</step>
<decision id="anyRecordsAvailableDecider" ref="recordsAvailableDecider">
<next on="recordesAvailable" to="split1"/>
<stop on="noCardsAvailable"/>
</decision>
<split id="split1">
<flow id="getAvailableRecordsDetails">
<step id="getRecordTypeA">
<batchlet ref="RecordTypeA"/>
</step>
</flow>
<flow>
<step id="getRecordTypeB">
<batchlet ref="RecordTypeB"/>
</step>
</flow>
<flow>
<step id="getRecordTypeC">
<batchlet ref="RecordTypeC"/>
</step>
</flow>
<flow>
<step id="getRecordTypeD">
<batchlet ref="RecordTypeD"/>
</step>
</flow>
</split>