Java 批处理和受管批处理概述
Java 批处理功能扩展应用程序服务器以满足必须执行批处理工作的应用程序和事务性应用程序。 批处理工作可能需要数小时(甚至数天)的时间才能完成并且在运行时使用大量内存或处理能力。
单个请求可以用几秒的处理器时间和相对较少的内存来完成。 但是,许多应用程序必须完成需要大量计算和资源的批处理工作。
Liberty 支持以下批处理功能部件:
- Java 批处理
batch-1.0功能部件允许使用 JSR-352 编程模型。 - 受管批处理
batchManagement-1.0功能部件提供以下功能:- 用于远程提交作业的 REST 接口
- batchManager 命令行实用程序
- 作业日志记录支持
- 多服务器支持(通过使用 JMS)
注:
batchManagement-1.0 功能部件还会启用 batch-1.0 功能部件。Java 批处理关闭和恢复
如果服务器关闭时作业仍在运行,那么 Java 批处理功能部件的行为方式有所不同。
服务器停止时或 Java 批处理功能部件被移除时,Java 批处理会取消激活。 它也会取消激活然后重新激活以处理动态配置更新。 取消激活 Java 批处理会导致向所有活动作业发出停止请求并针对每个停止记录消息。 停止作业需要 2 秒时间。 如果 2 秒后仍有 Java 批处理作业运行,那么系统会记录一条消息,指示哪些作业执行标识仍处于活动状态。 然后 Java 批处理关闭。 如果 Java 批处理关闭后作业仍在运行,那么它们可能会遇到不可预测的行为。
重要信息: 如果服务器意外停止,那么 Java 批处理会通过将在服务器上运行但在服务器重新启动时未完成的所有作业标记为 "失败" 来恢复。