我正在创建XML,它将定义一个相对简单的Java Batch Job(请参阅JSR 352)。
我的工作有三个步骤,我想提供一种功能,使用户可以动态地决定他们是否要执行所有三个步骤,或者只是执行第一步,或者只是执行第二步,或者只是执行第一步,然后执行第三步,或者只是第二步和第三步,等等,等等。本质上,我想为用户提供按顺序运行步骤子集的所有可能组合。
我很困惑的是在作业xml中定义此行为。我有一个javax.batch.api.Decider的实现,它将根据用户想要执行的操作返回一个特定值。
我的决定者XML如下所示:
yAxis
我在想最好的方法是使用几个...
<decision id="jobDecisionTree" ref="MyDecider">
<next on="default" to="defaultFlow"/>
<next on="stepOneOnly" to="stepOneOnlyFlow"/>
...
</decision>
...
元素来定义不同的可能性。例如,以下是我可以定义的两个可能的流元素:
<flow>
问题在于,我不想一遍又一遍地键入所有步骤,因为我的步骤比这里介绍的要复杂得多。我有每个步骤的分区和属性,如果我不得不在整个作业xml文件中多次重复每个步骤的完整定义,那么冗余xml的数量将是巨大的。
有没有一种方法可以仅从流元素中引用步骤,而不必每次都完全定义它?