Spring批量暂停/恢复与停止/重新启动

Spring批量暂停/恢复与停止/重新启动,spring,spring-batch,Spring,Spring Batch,我是spring batch的新手,对暂停/恢复有一些疑问。阅读spring批处理文档后,似乎没有任何内置的暂停或恢复功能。然而,我在主站点上发现了这样一个用例: 没有提供样品代码,或者我可以在哪里找到这些样品 在SpringBatch中,我知道内置了停止和重启功能。我可以用它作为暂停和恢复的一种形式吗?或者还有其他更好的方法吗?停止/重新启动本质上是暂停和恢复。它允许您以编程方式停止正在运行的作业,并从其停止的位置重新开始。为此,使用作业运算符,它是提供停止、重新启动、获取状态等功能的基本界

我是spring batch的新手,对暂停/恢复有一些疑问。阅读spring批处理文档后,似乎没有任何内置的暂停或恢复功能。然而,我在主站点上发现了这样一个用例:

没有提供样品代码,或者我可以在哪里找到这些样品


在SpringBatch中,我知道内置了停止和重启功能。我可以用它作为暂停和恢复的一种形式吗?或者还有其他更好的方法吗?

停止/重新启动本质上是暂停和恢复。它允许您以编程方式停止正在运行的作业,并从其停止的位置重新开始。

为此,使用作业运算符,它是提供停止、重新启动、获取状态等功能的基本界面

public interface JobOperator {

List<Long> getExecutions(long instanceId) throws NoSuchJobInstanceException;

List<Long> getJobInstances(String jobName, int start, int count)
      throws NoSuchJobException;

Set<Long> getRunningExecutions(String jobName) throws NoSuchJobException;

String getParameters(long executionId) throws NoSuchJobExecutionException;

Long start(String jobName, String parameters)
      throws NoSuchJobException, JobInstanceAlreadyExistsException;

Long restart(long executionId)
      throws JobInstanceAlreadyCompleteException, NoSuchJobExecutionException,
              NoSuchJobException, JobRestartException;

Long startNextInstance(String jobName)
      throws NoSuchJobException, JobParametersNotFoundException, JobRestartException,
             JobExecutionAlreadyRunningException, JobInstanceAlreadyCompleteException;

boolean stop(long executionId)
      throws NoSuchJobExecutionException, JobExecutionNotRunningException;

String getSummary(long executionId) throws NoSuchJobExecutionException;

Map<Long, String> getStepExecutionSummaries(long executionId)
      throws NoSuchJobExecutionException;

Set<String> getJobNames();

}
公共接口作业操作员{
List getExecutions(长instanceId)抛出NoSuchJobInstanceException;
列出getJobInstances(字符串jobName、int start、int count)
抛出NoSuchJobException;
Set getRunningExecutions(字符串jobName)抛出NoSuchJobException;
字符串getParameters(long executionId)抛出NoSuchJobExecutionException;
长启动(字符串作业名、字符串参数)
抛出NoSuchJobException、JobInstanceAlreadyExistsException;
长时间重新启动(长时间执行ID)
抛出JobInstanceAlreadyCompleteException、NoSuchJobExecutionException、,
无此JobException,JobRestartException;
长起始终止状态(字符串jobName)
抛出NoSuchJobException、JobParametersNotFoundException、JobRestartException、,
JobExecutionAlreadyRunningException、JobInstanceAlreadyCompleteException;
布尔停止(长executionId)
抛出NoSuchJobExecutionException、JobExecutionNotRunningException;
字符串getSummary(long executionId)抛出NoSuchJobExecutionException;
映射getStepExecutionSummaries(长executionId)
抛出NoSuchJobExecutionException异常;
设置getJobNames();
}
这里有一个例子