当前位置: 首页 > 面试题库 >

JSR 352重新开始工作吗?

王骏
2023-03-14
问题内容

重新启动作业后,只会再次运行失败的分区。如何再次执行成功完成的工作?

再次提交作业和重新启动作业之间有区别吗?

我正在Websphere Liberty上使用IBM的JSR 352实现。


问题答案:

Java Batch的设计使您在重新启动作业实例时可以从上次中断的地方继续执行(在上一个失败或停止的执行中)。

因此,通常这意味着两件事:

  1. 在作业内,您从先前失败的步骤(或作业停止的步骤)开始。
  2. 在该步骤中,首先使用批处理容器保留的检查点值定位输入光标。

因此,如果在初始执行时您完成了 步骤1, 然后在 步骤2 在记录#4123处失败,并且每100条记录都设置检查点,那么通常在重新启动时,您将在
步骤2 在记录#4100处开始执行。

在某些情况下,有必要执行 第一步 就重启以及,在执行前 第二步: 在工作以前失败,有一个选项来获得这种行为也是如此。

通常,经常按计划重复提交/开始工作。

根据批处理规范,每次启动作业时都会创建一个新的 JobInstance 。这时初始 JobExecution
JobInstance 创建。如果执行不运行到完成,实例可以重新开始,此时第二 JobExecution 为这个创建
JobInstance

因此,重新启动会使用前一个 JobExecution 的检查点和执行历史记录,而启动将从干净的开始开始。



 类似资料:
  • Photoshop、Illustrator 和 InDesign 提供“开始”工作区,通过该工作区,您可以快速访问最近打开的文件和在 Creative Cloud 中存储的文件。在此工作区中,您还可以访问可满足您需求的各种资源。您还可以从此工作区内搜索 Adobe Stock 资源。在 Photoshop 中,您甚至可以在“开始”工作区中处理 Lightroom 照片。 “开始”工作区 您将在下列

  • Hitting npm run build all the time will get boring eventually. Fortunately we can work around that quite easily. Let's set up webpack-dev-server. 如果需要一直输入 npm run build 确实是一件非常无聊的事情,幸运的是,我们可以把让他安静的运行,

  • 问题内容: 是否可以指定,如果作业(A)被多次触发,则将先前的作业从队列中删除,并且如果有足够的可用插槽,则仅将最新的作业留在队列中或启动? 提前致谢! 问题答案: 您可以通过通过Groovy Script Plugin运行的系统Groovy Script来实现。这样的脚本可以通过其编程API直接访问Jenkins 。我没有其他办法。

  • 我已经在Ubuntu 16.04(VM实例)中安装并配置了kibana。当我运行bin文件时,kibana没有启动。日志文件有如下错误消息。"type":"log","@time戳":"2017-09-08T11:21:53Z","tags":["status","plugin:kibana@5.2.2","info"],"pid": 7300,"state":"green","消息":"stat

  • 我正在尝试重新开始使用Spring Boot开发工具。我一直遵循此处提供的说明:https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html 我正在使用gradle,并将其包含在我的build.gradle文件中: 我创建jar文件并运行jar文件: 我能够通过Intellij连接到正

  • 我目前正在做一个react项目,并且已经开发了基本组件。昨天一切都很好。然后我开始了一个新的react原生项目。使用create-react-native-app安装项目后,命令无法启动服务器,但它对react项目运行良好。 我使用的是Node10.6和NPM5.6。在阅读了一些建议之后,我将node改为V8.11,npm改为6.2。安装watchman并更改inotify手表后,我终于启动了本机