Java批量重启不处理步骤
Java Batch restart does not process steps
重新启动作业时,不执行小批处理,即不调用小批处理的 process()
方法。
有人知道为什么重启不执行任何 batchlet 的提示吗?我已经尝试了几乎所有的组合,但没有任何改变可以让重启正常工作。
重新启动是这样的 () 不会带来错误 - 但是在没有调用任何 batchlets process()
方法的情况下成功终止。
我正在使用 wildfly-13.0。0.Final 和 jBeret。
我有一个带有此 jox.xml 定义的简单 java 批处理作业。被调用的 batchlet 目前除了 returning 状态之外什么都不做。
<job id="job" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0" restartable="true">
<flow id="processing">
<step id="download" next="process">
<batchlet ref="download"/>
</step>
<step id="process" next="notify">
<batchlet ref="process"/>
<stop on="STOPPED" restart="notify" />
</step>
<step id="notify">
<batchlet ref="noify"/>
<end on="COMPLETED"/>
</step>
</flow>
</job>
bachlet 的 return 值为:
- 下载...已完成
- 进程 ... 已停止
- 通知...已完成
当以 jobOperator.start()
开始这项工作时,一切都按预期进行。
当使用 jobOperator.restart()
重新启动已停止的作业执行时,作业得到执行但没有调用 batchlet。
batchlet 看起来像这样
@Named
public class Notify extends AbstractBatchlet {
@Override
public String process() throws Exception {
return BatchStatus.COMPLETED.toString();
}
@Override
public void stop() throws Exception {
}
}
restart属性的值是notify,是流程中的一个步骤名。可能是在重新启动期间,JBeret 正在寻找一个名为 notify 的顶级步骤,这显然不存在。
重新启动作业时,不执行小批处理,即不调用小批处理的 process()
方法。
有人知道为什么重启不执行任何 batchlet 的提示吗?我已经尝试了几乎所有的组合,但没有任何改变可以让重启正常工作。
重新启动是这样的 () 不会带来错误 - 但是在没有调用任何 batchlets process()
方法的情况下成功终止。
我正在使用 wildfly-13.0。0.Final 和 jBeret。
我有一个带有此 jox.xml 定义的简单 java 批处理作业。被调用的 batchlet 目前除了 returning 状态之外什么都不做。
<job id="job" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0" restartable="true">
<flow id="processing">
<step id="download" next="process">
<batchlet ref="download"/>
</step>
<step id="process" next="notify">
<batchlet ref="process"/>
<stop on="STOPPED" restart="notify" />
</step>
<step id="notify">
<batchlet ref="noify"/>
<end on="COMPLETED"/>
</step>
</flow>
</job>
bachlet 的 return 值为:
- 下载...已完成
- 进程 ... 已停止
- 通知...已完成
当以 jobOperator.start()
开始这项工作时,一切都按预期进行。
当使用 jobOperator.restart()
重新启动已停止的作业执行时,作业得到执行但没有调用 batchlet。
batchlet 看起来像这样
@Named
public class Notify extends AbstractBatchlet {
@Override
public String process() throws Exception {
return BatchStatus.COMPLETED.toString();
}
@Override
public void stop() throws Exception {
}
}
restart属性的值是notify,是流程中的一个步骤名。可能是在重新启动期间,JBeret 正在寻找一个名为 notify 的顶级步骤,这显然不存在。