Spring Batch
Spring Boot 为使用 Spring Batch 提供了多种便利,包括在启动时运行作业。
如果 Spring Batch 在你的 classpath 中可用,它将通过 @EnableBatchProcessing 注解进行初始化。
构建批处理应用程序时,可以自动配置以下存储:
-
内存
-
JDBC
每个存储都有特定的附加设置。例如,可以为 JDBC 存储自定义表前缀,如以下示例所示:
-
属性
-
YAML
spring.batch.jdbc.table-prefix=CUSTOM_
spring:
batch:
jdbc:
table-prefix: "CUSTOM_"
你可以使用 @EnableBatchProcessing 控制 Spring Batch 的配置。这将导致自动配置回退。然后,可以使用 @Enable*JobRepository 注解的属性而非前面描述的配置属性来配置 Spring Batch。
在启动时运行 Spring Batch 作业
当 Spring Boot 自动配置 Spring Batch,并且在应用程序上下文中找到一个 Job bean 时,它会在启动时执行(详见 JobLauncherApplicationRunner)。如果找到多个 Job bean,则必须使用 spring.batch.job.name 指定应执行的作业。
你可以禁用运行应用程序上下文中找到的 Job,如以下示例所示:
-
属性
-
YAML
spring.batch.job.enabled=false
spring:
batch:
job:
enabled: false
更多详情请参阅 BatchAutoConfiguration 和 BatchJdbcAutoConfiguration。