|
此版本仍在开发中,尚未视为稳定版。如需最新稳定版本,请使用 Spring Boot 4.0.4! |
Spring Batch
Spring Boot 提供了多项便利功能来配合使用 Spring Batch,包括在启动时运行一个 Job。
构建批处理应用程序时,可以自动配置以下存储:
-
In-memory
-
JDBC
-
MongoDB
每个存储都有特定的附加设置。 例如,可以自定义 JDBC 存储的表前缀,如下例所示:
-
Properties
-
YAML
spring.batch.jdbc.table-prefix=CUSTOM_
spring:
batch:
jdbc:
table-prefix: "CUSTOM_"
使用 MongoDB 存储时,您可以启用 Spring Batch 作业仓库模式(集合和索引)的初始化:
-
Properties
-
YAML
spring.batch.data.mongodb.schema.initialize=true
spring:
batch:
data:
mongodb:
schema:
initialize: true
要禁用 Spring Boot 的自动配置并完全掌控 Spring Batch 的配置,请将 @EnableBatchProcessing 添加到您的某个 @Configuration 类中,或扩展 DefaultBatchConfiguration。
这将导致自动配置回退,包括 Spring Batch 数据库模式(JDBC 或 MongoDB)的初始化。
随后,可以使用 @Enable*JobRepository 注解的属性来配置 Spring Batch,而不是使用前面描述的配置属性。
要了解更多关于手动配置 Spring Batch 的信息,请参阅以下内容的 API 文档:
有关 Spring Batch 的更多信息,请参阅Spring Batch 项目页面。
在启动时运行 Spring Batch 作业
当 Spring Boot 自动配置 Spring Batch 时,如果在应用上下文中发现单个 Job Bean,它将在启动时执行(详见 JobLauncherApplicationRunner)。
如果发现多个 Job Bean,则必须使用 spring.batch.job.name 指定要执行的作业。
您可以禁用应用程序上下文中发现的 Job 的运行,如下例所示:
-
Properties
-
YAML
spring.batch.job.enabled=false
spring:
batch:
job:
enabled: false