此版本仍在开发中,尚未被视为稳定版本。最新的稳定版请使用 spring-cloud-task 3.1.1Spring中文文档

此版本仍在开发中,尚未被视为稳定版本。最新的稳定版请使用 spring-cloud-task 3.1.1Spring中文文档

本节介绍如何使用 入门包含在 Spring Cloud Task 中。此启动器允许您使用配置 定义一个、一个或一个完整的单步 Spring Batch。 有关 Spring Batch 及其功能的更多信息,请参阅 Spring Batch 文档JobStepItemReaderItemWriterJobSpring中文文档

若要获取 Maven 的入门版本,请将以下内容添加到您的构建中:Spring中文文档

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-single-step-batch-job</artifactId>
    <version>2.3.0</version>
</dependency>

要获取 Gradle 的入门版,请将以下内容添加到您的构建中:Spring中文文档

compile "org.springframework.cloud:spring-cloud-starter-single-step-batch-job:2.3.0"

定义作业

您可以使用启动器来定义小至 an 或 an 或 full 等于 full 。 在本节中,我们将定义需要定义哪些属性才能配置 .ItemReaderItemWriterJobJobSpring中文文档

性能

首先,初学者提供了一组属性,可让您通过一个步骤配置作业的基础知识:Spring中文文档

表 1.作业属性
财产 类型 默认值 描述

spring.batch.job.jobNameSpring中文文档

StringSpring中文文档

nullSpring中文文档

作业的名称。Spring中文文档

spring.batch.job.stepNameSpring中文文档

StringSpring中文文档

nullSpring中文文档

步骤的名称。Spring中文文档

spring.batch.job.chunkSizeSpring中文文档

IntegerSpring中文文档

nullSpring中文文档

每个事务要处理的项目数。Spring中文文档

配置上述属性后,您就拥有了一个具有单个基于块的步骤的作业。 这个基于块的步骤读取、处理和写入实例作为 项目。但是,该步骤尚未执行任何操作。您需要配置一个 、 可选的,并给它一些事情做。配置一个 其中,您可以使用属性并配置已提供的选项之一 自动配置,或者您可以使用标准 Spring 配置配置自己的配置 机制。Map<String, Object>ItemReaderItemProcessorItemWriterSpring中文文档

如果配置自己的类型,则输入和输出类型必须与步骤中的其他类型匹配。 此启动器中的实现和实现都使用 a 作为输入项和输出项。ItemReaderItemWriterMap<String, Object>
表 1.作业属性
财产 类型 默认值 描述

spring.batch.job.jobNameSpring中文文档

StringSpring中文文档

nullSpring中文文档

作业的名称。Spring中文文档

spring.batch.job.stepNameSpring中文文档

StringSpring中文文档

nullSpring中文文档

步骤的名称。Spring中文文档

spring.batch.job.chunkSizeSpring中文文档

IntegerSpring中文文档

nullSpring中文文档

每个事务要处理的项目数。Spring中文文档

如果配置自己的类型,则输入和输出类型必须与步骤中的其他类型匹配。 此启动器中的实现和实现都使用 a 作为输入项和输出项。ItemReaderItemWriterMap<String, Object>

ItemReader 实现的自动配置

此启动器为四种不同的实现提供自动配置:、、 和 。 在本节中,我们将概述如何使用提供的 自动配置。ItemReaderAmqpItemReaderFlatFileItemReaderJdbcCursorItemReaderKafkaItemReaderSpring中文文档

AmqpItemReader

您可以使用 .这 此实现的自动配置依赖于两组 配置。首先是 .您可以 自行配置或使用 Spring Boot 提供的自动配置。请参阅 Spring Boot AMQP 文档。 配置 后,可以启用批处理功能来支持它 通过设置以下属性:AmqpItemReaderItemReaderAmqpTemplateAmqpTemplateSpring中文文档

表 2. 性能AmqpItemReader
财产 类型 默认值 描述

spring.batch.job.amqpitemreader.enabledSpring中文文档

booleanSpring中文文档

falseSpring中文文档

如果 ,将执行自动配置。trueSpring中文文档

spring.batch.job.amqpitemreader.jsonConverterEnabledSpring中文文档

booleanSpring中文文档

trueSpring中文文档

指示是否应注册以分析消息。Jackson2JsonMessageConverterSpring中文文档

有关详细信息,请参阅 AmqpItemReader 文档Spring中文文档

FlatFileItemReader

FlatFileItemReader允许您从平面文件(如 CSV)中读取数据 和其他文件格式)。若要读取文件,可以提供一些组件 自己通过正常的 Spring 配置(、、、或)。您还可以使用 用于配置读取器的以下属性:LineTokenizerRecordSeparatorPolicyFieldSetMapperLineMapperSkippedLinesCallbackSpring中文文档

表 3. 性能FlatFileItemReader
财产 类型 默认值 描述

spring.batch.job.flatfileitemreader.saveStateSpring中文文档

booleanSpring中文文档

trueSpring中文文档

确定是否应保存状态以供重新启动。Spring中文文档

spring.batch.job.flatfileitemreader.nameSpring中文文档

StringSpring中文文档

nullSpring中文文档

用于在 中提供唯一键的名称。ExecutionContextSpring中文文档

spring.batch.job.flatfileitemreader.maxItemcountSpring中文文档

intSpring中文文档

Integer.MAX_VALUESpring中文文档

要从文件中读取的最大项目数。Spring中文文档

spring.batch.job.flatfileitemreader.currentItemCountSpring中文文档

intSpring中文文档

0Spring中文文档

已读取的项目数。在重新启动时使用。Spring中文文档

spring.batch.job.flatfileitemreader.commentsSpring中文文档

List<String>Spring中文文档

空列表Spring中文文档

指示文件中注释行(要忽略的行)的字符串列表。Spring中文文档

spring.batch.job.flatfileitemreader.resourceSpring中文文档

ResourceSpring中文文档

nullSpring中文文档

要读取的资源。Spring中文文档

spring.batch.job.flatfileitemreader.strictSpring中文文档

booleanSpring中文文档

trueSpring中文文档

如果设置为 ,则在未找到资源时,读取器将引发异常。trueSpring中文文档

spring.batch.job.flatfileitemreader.encodingSpring中文文档

StringSpring中文文档

FlatFileItemReader.DEFAULT_CHARSETSpring中文文档

读取文件时要使用的编码。Spring中文文档

spring.batch.job.flatfileitemreader.linesToSkipSpring中文文档

intSpring中文文档

0Spring中文文档

指示在文件开头要跳过的行数。Spring中文文档

spring.batch.job.flatfileitemreader.delimitedSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示文件是否为带分隔符的文件(CSV 和其他格式)。此属性中只有一个,或者可以同时存在。spring.batch.job.flatfileitemreader.fixedLengthtrueSpring中文文档

spring.batch.job.flatfileitemreader.delimiterSpring中文文档

StringSpring中文文档

DelimitedLineTokenizer.DELIMITER_COMMASpring中文文档

如果读取分隔文件,则指示要分析的分隔符。Spring中文文档

spring.batch.job.flatfileitemreader.quoteCharacterSpring中文文档

charSpring中文文档

DelimitedLineTokenizer.DEFAULT_QUOTE_CHARACTERSpring中文文档

用于确定用于引用值的字符。Spring中文文档

spring.batch.job.flatfileitemreader.includedFieldsSpring中文文档

List<Integer>Spring中文文档

空列表Spring中文文档

用于确定要包含在项目中的记录中的哪些字段的索引列表。Spring中文文档

spring.batch.job.flatfileitemreader.fixedLengthSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示是否按列号分析文件的记录。此属性中只有一个,或者可以同时存在。spring.batch.job.flatfileitemreader.delimitedtrueSpring中文文档

spring.batch.job.flatfileitemreader.rangesSpring中文文档

List<Range>Spring中文文档

空列表Spring中文文档

用于分析固定宽度记录的列范围列表。请参阅 Range 文档Spring中文文档

spring.batch.job.flatfileitemreader.namesSpring中文文档

String []Spring中文文档

nullSpring中文文档

从记录中解析的每个字段的名称列表。这些名称是从此返回的 in 项中的键。Map<String, Object>ItemReaderSpring中文文档

spring.batch.job.flatfileitemreader.parsingStrictSpring中文文档

booleanSpring中文文档

trueSpring中文文档

如果设置为 ,则无法映射字段,则映射失败。trueSpring中文文档

JdbcCursorItemReader

对关系数据库运行查询并循环访问 生成的游标 () 以提供生成的项。此自动配置 允许您提供 a 和 /或 a 或两者。你 还可以使用以下属性来配置:JdbcCursorItemReaderResultSetPreparedStatementSetterRowMapperJdbcCursorItemReaderSpring中文文档

表 4. 性能JdbcCursorItemReader
财产 类型 默认值 描述

spring.batch.job.jdbccursoritemreader.saveStateSpring中文文档

booleanSpring中文文档

trueSpring中文文档

确定是否应保存状态以供重新启动。Spring中文文档

spring.batch.job.jdbccursoritemreader.nameSpring中文文档

StringSpring中文文档

nullSpring中文文档

用于在 中提供唯一键的名称。ExecutionContextSpring中文文档

spring.batch.job.jdbccursoritemreader.maxItemcountSpring中文文档

intSpring中文文档

Integer.MAX_VALUESpring中文文档

要从文件中读取的最大项目数。Spring中文文档

spring.batch.job.jdbccursoritemreader.currentItemCountSpring中文文档

intSpring中文文档

0Spring中文文档

已读取的项目数。在重新启动时使用。Spring中文文档

spring.batch.job.jdbccursoritemreader.fetchSizeSpring中文文档

intSpring中文文档

向驱动程序提示,指示每次调用数据库系统要检索多少条记录。为了获得最佳性能,您通常希望将其设置为与块大小匹配。Spring中文文档

spring.batch.job.jdbccursoritemreader.maxRowsSpring中文文档

intSpring中文文档

要从数据库中读取的最大项数。Spring中文文档

spring.batch.job.jdbccursoritemreader.queryTimeoutSpring中文文档

intSpring中文文档

查询超时的毫秒数。Spring中文文档

spring.batch.job.jdbccursoritemreader.ignoreWarningsSpring中文文档

booleanSpring中文文档

trueSpring中文文档

确定读取器在处理时是否应忽略 SQL 警告。Spring中文文档

spring.batch.job.jdbccursoritemreader.verifyCursorPositionSpring中文文档

booleanSpring中文文档

trueSpring中文文档

指示是否应在每次读取后验证光标的位置,以验证光标是否未前进。RowMapperSpring中文文档

spring.batch.job.jdbccursoritemreader.driverSupportsAbsoluteSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示驱动程序是否支持光标的绝对定位。Spring中文文档

spring.batch.job.jdbccursoritemreader.useSharedExtendedConnectionSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示连接是否与其他处理共享(因此是事务的一部分)。Spring中文文档

spring.batch.job.jdbccursoritemreader.sqlSpring中文文档

StringSpring中文文档

nullSpring中文文档

要从中读取的 SQL 查询。Spring中文文档

还可以使用以下属性专门为读取器指定 JDBC 数据源: .性能JdbcCursorItemReaderSpring中文文档

财产 类型 默认值 描述

spring.batch.job.jdbccursoritemreader.datasource.enableSpring中文文档

booleanSpring中文文档

falseSpring中文文档

确定是否应启用。JdbcCursorItemReaderDataSourceSpring中文文档

jdbccursoritemreader.datasource.urlSpring中文文档

StringSpring中文文档

nullSpring中文文档

数据库的 JDBC URL。Spring中文文档

jdbccursoritemreader.datasource.usernameSpring中文文档

StringSpring中文文档

nullSpring中文文档

数据库的登录用户名。Spring中文文档

jdbccursoritemreader.datasource.passwordSpring中文文档

StringSpring中文文档

nullSpring中文文档

数据库的登录密码。Spring中文文档

jdbccursoritemreader.datasource.driver-class-nameSpring中文文档

StringSpring中文文档

nullSpring中文文档

JDBC 驱动程序的完全限定名称。Spring中文文档

如果未指定,则将使用 default。DataSourceJDBCCursorItemReaderjdbccursoritemreader_datasource

KafkaItemReader

从 Kafka 主题引入数据分区非常有用,而且正是可以执行的操作。要配置 ,两件 的配置是必需的。首先,使用 Spring Boot 的 Kafka 配置 Kafka 自动配置是必需的(请参阅 Spring Boot Kafka 文档)。 从 Spring Boot 配置 Kafka 属性后,可以通过设置以下属性来配置 Kafka 属性:KafkaItemReaderKafkaItemReaderKafkaItemReaderSpring中文文档

表 5. 性能KafkaItemReader
财产 类型 默认值 描述

spring.batch.job.kafkaitemreader.nameSpring中文文档

StringSpring中文文档

nullSpring中文文档

用于在 中提供唯一键的名称。ExecutionContextSpring中文文档

spring.batch.job.kafkaitemreader.topicSpring中文文档

StringSpring中文文档

nullSpring中文文档

要从中读取的主题的名称。Spring中文文档

spring.batch.job.kafkaitemreader.partitionsSpring中文文档

List<Integer>Spring中文文档

空列表Spring中文文档

要从中读取的分区索引列表。Spring中文文档

spring.batch.job.kafkaitemreader.pollTimeOutInSecondsSpring中文文档

longSpring中文文档

30Spring中文文档

操作超时。poll()Spring中文文档

spring.batch.job.kafkaitemreader.saveStateSpring中文文档

booleanSpring中文文档

trueSpring中文文档

确定是否应保存状态以供重新启动。Spring中文文档

原生编译

单步批处理的优点是,它允许您在使用 JVM 时动态选择要在运行时使用的读取器和写入器 Bean。 但是,使用本机编译时,必须在生成时(而不是运行时)确定读取器和写入器。 以下示例执行此操作:Spring中文文档

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>process-aot</id>
            <goals>
                <goal>process-aot</goal>
            </goals>
            <configuration>
                <jvmArguments>
                    -Dspring.batch.job.flatfileitemreader.name=fooReader
                    -Dspring.batch.job.flatfileitemwriter.name=fooWriter
                </jvmArguments>
            </configuration>
        </execution>
    </executions>
</plugin>
表 2. 性能AmqpItemReader
财产 类型 默认值 描述

spring.batch.job.amqpitemreader.enabledSpring中文文档

booleanSpring中文文档

falseSpring中文文档

如果 ,将执行自动配置。trueSpring中文文档

spring.batch.job.amqpitemreader.jsonConverterEnabledSpring中文文档

booleanSpring中文文档

trueSpring中文文档

指示是否应注册以分析消息。Jackson2JsonMessageConverterSpring中文文档

表 3. 性能FlatFileItemReader
财产 类型 默认值 描述

spring.batch.job.flatfileitemreader.saveStateSpring中文文档

booleanSpring中文文档

trueSpring中文文档

确定是否应保存状态以供重新启动。Spring中文文档

spring.batch.job.flatfileitemreader.nameSpring中文文档

StringSpring中文文档

nullSpring中文文档

用于在 中提供唯一键的名称。ExecutionContextSpring中文文档

spring.batch.job.flatfileitemreader.maxItemcountSpring中文文档

intSpring中文文档

Integer.MAX_VALUESpring中文文档

要从文件中读取的最大项目数。Spring中文文档

spring.batch.job.flatfileitemreader.currentItemCountSpring中文文档

intSpring中文文档

0Spring中文文档

已读取的项目数。在重新启动时使用。Spring中文文档

spring.batch.job.flatfileitemreader.commentsSpring中文文档

List<String>Spring中文文档

空列表Spring中文文档

指示文件中注释行(要忽略的行)的字符串列表。Spring中文文档

spring.batch.job.flatfileitemreader.resourceSpring中文文档

ResourceSpring中文文档

nullSpring中文文档

要读取的资源。Spring中文文档

spring.batch.job.flatfileitemreader.strictSpring中文文档

booleanSpring中文文档

trueSpring中文文档

如果设置为 ,则在未找到资源时,读取器将引发异常。trueSpring中文文档

spring.batch.job.flatfileitemreader.encodingSpring中文文档

StringSpring中文文档

FlatFileItemReader.DEFAULT_CHARSETSpring中文文档

读取文件时要使用的编码。Spring中文文档

spring.batch.job.flatfileitemreader.linesToSkipSpring中文文档

intSpring中文文档

0Spring中文文档

指示在文件开头要跳过的行数。Spring中文文档

spring.batch.job.flatfileitemreader.delimitedSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示文件是否为带分隔符的文件(CSV 和其他格式)。此属性中只有一个,或者可以同时存在。spring.batch.job.flatfileitemreader.fixedLengthtrueSpring中文文档

spring.batch.job.flatfileitemreader.delimiterSpring中文文档

StringSpring中文文档

DelimitedLineTokenizer.DELIMITER_COMMASpring中文文档

如果读取分隔文件,则指示要分析的分隔符。Spring中文文档

spring.batch.job.flatfileitemreader.quoteCharacterSpring中文文档

charSpring中文文档

DelimitedLineTokenizer.DEFAULT_QUOTE_CHARACTERSpring中文文档

用于确定用于引用值的字符。Spring中文文档

spring.batch.job.flatfileitemreader.includedFieldsSpring中文文档

List<Integer>Spring中文文档

空列表Spring中文文档

用于确定要包含在项目中的记录中的哪些字段的索引列表。Spring中文文档

spring.batch.job.flatfileitemreader.fixedLengthSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示是否按列号分析文件的记录。此属性中只有一个,或者可以同时存在。spring.batch.job.flatfileitemreader.delimitedtrueSpring中文文档

spring.batch.job.flatfileitemreader.rangesSpring中文文档

List<Range>Spring中文文档

空列表Spring中文文档

用于分析固定宽度记录的列范围列表。请参阅 Range 文档Spring中文文档

spring.batch.job.flatfileitemreader.namesSpring中文文档

String []Spring中文文档

nullSpring中文文档

从记录中解析的每个字段的名称列表。这些名称是从此返回的 in 项中的键。Map<String, Object>ItemReaderSpring中文文档

spring.batch.job.flatfileitemreader.parsingStrictSpring中文文档

booleanSpring中文文档

trueSpring中文文档

如果设置为 ,则无法映射字段,则映射失败。trueSpring中文文档

表 4. 性能JdbcCursorItemReader
财产 类型 默认值 描述

spring.batch.job.jdbccursoritemreader.saveStateSpring中文文档

booleanSpring中文文档

trueSpring中文文档

确定是否应保存状态以供重新启动。Spring中文文档

spring.batch.job.jdbccursoritemreader.nameSpring中文文档

StringSpring中文文档

nullSpring中文文档

用于在 中提供唯一键的名称。ExecutionContextSpring中文文档

spring.batch.job.jdbccursoritemreader.maxItemcountSpring中文文档

intSpring中文文档

Integer.MAX_VALUESpring中文文档

要从文件中读取的最大项目数。Spring中文文档

spring.batch.job.jdbccursoritemreader.currentItemCountSpring中文文档

intSpring中文文档

0Spring中文文档

已读取的项目数。在重新启动时使用。Spring中文文档

spring.batch.job.jdbccursoritemreader.fetchSizeSpring中文文档

intSpring中文文档

向驱动程序提示,指示每次调用数据库系统要检索多少条记录。为了获得最佳性能,您通常希望将其设置为与块大小匹配。Spring中文文档

spring.batch.job.jdbccursoritemreader.maxRowsSpring中文文档

intSpring中文文档

要从数据库中读取的最大项数。Spring中文文档

spring.batch.job.jdbccursoritemreader.queryTimeoutSpring中文文档

intSpring中文文档

查询超时的毫秒数。Spring中文文档

spring.batch.job.jdbccursoritemreader.ignoreWarningsSpring中文文档

booleanSpring中文文档

trueSpring中文文档

确定读取器在处理时是否应忽略 SQL 警告。Spring中文文档

spring.batch.job.jdbccursoritemreader.verifyCursorPositionSpring中文文档

booleanSpring中文文档

trueSpring中文文档

指示是否应在每次读取后验证光标的位置,以验证光标是否未前进。RowMapperSpring中文文档

spring.batch.job.jdbccursoritemreader.driverSupportsAbsoluteSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示驱动程序是否支持光标的绝对定位。Spring中文文档

spring.batch.job.jdbccursoritemreader.useSharedExtendedConnectionSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示连接是否与其他处理共享(因此是事务的一部分)。Spring中文文档

spring.batch.job.jdbccursoritemreader.sqlSpring中文文档

StringSpring中文文档

nullSpring中文文档

要从中读取的 SQL 查询。Spring中文文档

财产 类型 默认值 描述

spring.batch.job.jdbccursoritemreader.datasource.enableSpring中文文档

booleanSpring中文文档

falseSpring中文文档

确定是否应启用。JdbcCursorItemReaderDataSourceSpring中文文档

jdbccursoritemreader.datasource.urlSpring中文文档

StringSpring中文文档

nullSpring中文文档

数据库的 JDBC URL。Spring中文文档

jdbccursoritemreader.datasource.usernameSpring中文文档

StringSpring中文文档

nullSpring中文文档

数据库的登录用户名。Spring中文文档

jdbccursoritemreader.datasource.passwordSpring中文文档

StringSpring中文文档

nullSpring中文文档

数据库的登录密码。Spring中文文档

jdbccursoritemreader.datasource.driver-class-nameSpring中文文档

StringSpring中文文档

nullSpring中文文档

JDBC 驱动程序的完全限定名称。Spring中文文档

如果未指定,则将使用 default。DataSourceJDBCCursorItemReaderjdbccursoritemreader_datasource
表 5. 性能KafkaItemReader
财产 类型 默认值 描述

spring.batch.job.kafkaitemreader.nameSpring中文文档

StringSpring中文文档

nullSpring中文文档

用于在 中提供唯一键的名称。ExecutionContextSpring中文文档

spring.batch.job.kafkaitemreader.topicSpring中文文档

StringSpring中文文档

nullSpring中文文档

要从中读取的主题的名称。Spring中文文档

spring.batch.job.kafkaitemreader.partitionsSpring中文文档

List<Integer>Spring中文文档

空列表Spring中文文档

要从中读取的分区索引列表。Spring中文文档

spring.batch.job.kafkaitemreader.pollTimeOutInSecondsSpring中文文档

longSpring中文文档

30Spring中文文档

操作超时。poll()Spring中文文档

spring.batch.job.kafkaitemreader.saveStateSpring中文文档

booleanSpring中文文档

trueSpring中文文档

确定是否应保存状态以供重新启动。Spring中文文档

ItemProcessor 配置

单步批处理作业自动配置接受 if 在 .如果找到正确类型的 (),它是自动接线的 进入步骤。ItemProcessorApplicationContextItemProcessor<Map<String, Object>, Map<String, Object>>Spring中文文档

ItemWriter 实现的自动配置

此启动器为以下实现提供自动配置 匹配支持的实现:、 、 和 。本节 介绍如何使用自动配置来配置受支持的 .ItemWriterItemReaderAmqpItemWriterFlatFileItemWriterJdbcItemWriterKafkaItemWriterItemWriterSpring中文文档

AmqpItemWriter

要写入 RabbitMQ 队列,您需要两组配置。首先,您需要一个 .最简单的方法是使用 Spring Boot 的 RabbitMQ 自动配置。请参阅 Spring Boot AMQP 文档AmqpTemplateSpring中文文档

配置 后,可以通过设置 以下属性:AmqpTemplateAmqpItemWriterSpring中文文档

表 6. 性能AmqpItemWriter
财产 类型 默认值 描述

spring.batch.job.amqpitemwriter.enabledSpring中文文档

booleanSpring中文文档

falseSpring中文文档

如果 ,则运行自动配置。trueSpring中文文档

spring.batch.job.amqpitemwriter.jsonConverterEnabledSpring中文文档

booleanSpring中文文档

trueSpring中文文档

指示是否应注册以转换邮件。Jackson2JsonMessageConverterSpring中文文档

FlatFileItemWriter

要将文件写入作为步骤的输出,您可以配置 . 自动配置接受已显式配置的组件(如 、 、 或 ) 和 已通过设置指定的以下属性来配置的组件:FlatFileItemWriterLineAggregatorFieldExtractorFlatFileHeaderCallbackFlatFileFooterCallbackSpring中文文档

表 7. 性能FlatFileItemWriter
财产 类型 默认值 描述

spring.batch.job.flatfileitemwriter.resourceSpring中文文档

ResourceSpring中文文档

nullSpring中文文档

要读取的资源。Spring中文文档

spring.batch.job.flatfileitemwriter.delimitedSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示输出文件是否为分隔文件。如果 ,则必须是 。truespring.batch.job.flatfileitemwriter.formattedfalseSpring中文文档

spring.batch.job.flatfileitemwriter.formattedSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示输出文件是否为格式化文件。如果 ,则必须是 。truespring.batch.job.flatfileitemwriter.delimitedfalseSpring中文文档

spring.batch.job.flatfileitemwriter.formatSpring中文文档

StringSpring中文文档

nullSpring中文文档

用于生成格式化文件输出的格式。格式设置是通过使用 来执行的。String.formatSpring中文文档

spring.batch.job.flatfileitemwriter.localeSpring中文文档

LocaleSpring中文文档

Locale.getDefault()Spring中文文档

生成文件时要使用的。LocaleSpring中文文档

spring.batch.job.flatfileitemwriter.maximumLengthSpring中文文档

intSpring中文文档

0Spring中文文档

记录的最大长度。如果为 0,则大小不受限制。Spring中文文档

spring.batch.job.flatfileitemwriter.minimumLengthSpring中文文档

intSpring中文文档

0Spring中文文档

最小记录长度。Spring中文文档

spring.batch.job.flatfileitemwriter.delimiterSpring中文文档

StringSpring中文文档

,Spring中文文档

用于分隔分隔文件中的字段。StringSpring中文文档

spring.batch.job.flatfileitemwriter.encodingSpring中文文档

StringSpring中文文档

FlatFileItemReader.DEFAULT_CHARSETSpring中文文档

写入文件时要使用的编码。Spring中文文档

spring.batch.job.flatfileitemwriter.forceSyncSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示是否应在刷新时将文件强制同步到磁盘。Spring中文文档

spring.batch.job.flatfileitemwriter.namesSpring中文文档

String []Spring中文文档

nullSpring中文文档

从记录中解析的每个字段的名称列表。这些名称是 for this 接收到的项目中的键。Map<String, Object>ItemWriterSpring中文文档

spring.batch.job.flatfileitemwriter.appendSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示如果找到输出文件,是否应追加文件。Spring中文文档

spring.batch.job.flatfileitemwriter.lineSeparatorSpring中文文档

StringSpring中文文档

FlatFileItemWriter.DEFAULT_LINE_SEPARATORSpring中文文档

用于分隔输出文件中的行。StringSpring中文文档

spring.batch.job.flatfileitemwriter.nameSpring中文文档

StringSpring中文文档

nullSpring中文文档

用于在 中提供唯一键的名称。ExecutionContextSpring中文文档

spring.batch.job.flatfileitemwriter.saveStateSpring中文文档

booleanSpring中文文档

trueSpring中文文档

确定是否应保存状态以供重新启动。Spring中文文档

spring.batch.job.flatfileitemwriter.shouldDeleteIfEmptySpring中文文档

booleanSpring中文文档

falseSpring中文文档

如果设置为 ,则在作业完成时删除空文件(没有输出)。trueSpring中文文档

spring.batch.job.flatfileitemwriter.shouldDeleteIfExistsSpring中文文档

booleanSpring中文文档

trueSpring中文文档

如果设置为 并且找到输出文件应位于的位置的文件,则在步骤开始之前将其删除。trueSpring中文文档

spring.batch.job.flatfileitemwriter.transactionalSpring中文文档

booleanSpring中文文档

FlatFileItemWriter.DEFAULT_TRANSACTIONALSpring中文文档

指示读取器是否为事务队列(指示读取的项目在失败时返回到队列)。Spring中文文档

JdbcBatchItemWriter

要将步骤的输出写入关系数据库,此入门器提供了以下功能 自动配置 .通过自动配置,您可以提供 own 或 和 通过设置以下属性来配置选项:JdbcBatchItemWriterItemPreparedStatementSetterItemSqlParameterSourceProviderSpring中文文档

表 8. 性能JdbcBatchItemWriter
财产 类型 默认值 描述

spring.batch.job.jdbcbatchitemwriter.nameSpring中文文档

StringSpring中文文档

nullSpring中文文档

用于在 中提供唯一键的名称。ExecutionContextSpring中文文档

spring.batch.job.jdbcbatchitemwriter.sqlSpring中文文档

StringSpring中文文档

nullSpring中文文档

用于插入每个项的 SQL。Spring中文文档

spring.batch.job.jdbcbatchitemwriter.assertUpdatesSpring中文文档

booleanSpring中文文档

trueSpring中文文档

是否验证每个插入是否都会导致至少一条记录的更新。Spring中文文档

还可以使用以下属性专门为编写器指定 JDBC DataSource: .性能JdbcBatchItemWriterSpring中文文档

财产 类型 默认值 描述

spring.batch.job.jdbcbatchitemwriter.datasource.enableSpring中文文档

booleanSpring中文文档

falseSpring中文文档

确定是否应启用。JdbcCursorItemReaderDataSourceSpring中文文档

jdbcbatchitemwriter.datasource.urlSpring中文文档

StringSpring中文文档

nullSpring中文文档

数据库的 JDBC URL。Spring中文文档

jdbcbatchitemwriter.datasource.usernameSpring中文文档

StringSpring中文文档

nullSpring中文文档

数据库的登录用户名。Spring中文文档

jdbcbatchitemwriter.datasource.passwordSpring中文文档

StringSpring中文文档

nullSpring中文文档

数据库的登录密码。Spring中文文档

jdbcbatchitemreader.datasource.driver-class-nameSpring中文文档

StringSpring中文文档

nullSpring中文文档

JDBC 驱动程序的完全限定名称。Spring中文文档

如果未指定,则将使用 default。DataSourceJdbcBatchItemWriterjdbcbatchitemwriter_datasource

KafkaItemWriter

要将步骤输出写入 Kafka 主题,您需要 .这个开胃菜 通过使用两个位置的设施为 A 提供自动配置。 第一个是 Spring Boot 的 Kafka 自动配置。(请参阅 Spring Boot Kafka 文档。 其次,此启动器允许您在编写器上配置两个属性。KafkaItemWriterKafkaItemWriterSpring中文文档

表 9. 性能KafkaItemWriter
财产 类型 默认值 描述

spring.batch.job.kafkaitemwriter.topicSpring中文文档

StringSpring中文文档

nullSpring中文文档

要编写的 Kafka 主题。Spring中文文档

spring.batch.job.kafkaitemwriter.deleteSpring中文文档

booleanSpring中文文档

falseSpring中文文档

传递给编写器的项目是否全部作为删除事件发送到主题。Spring中文文档

有关 的配置选项的更多信息,请参阅 KafkaItemWiter 文档KafkaItemWriterSpring中文文档

春季 AOT

将 Spring AOT 与 Single Step Batch Starter 一起使用时,必须将读取器和 编译时的 writer name 属性(除非您为 reader 和 /or writer 创建 bean)。 为此,您必须包括要用作的读取器和编写器的名称 以及 boot maven 插件或 gradle 插件中的参数或环境变量。例如,如果 您希望在 Maven 中启用 and 它如下所示:FlatFileItemReaderFlatFileItemWriterSpring中文文档

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <executions>
            <execution>
            <id>process-aot</id>
            <goals>
                <goal>process-aot</goal>
            </goals>
            </execution>
        </executions>
        <configuration>
            <arguments>
                <argument>--spring.batch.job.flatfileitemreader.name=foobar</argument>
                <argument>--spring.batch.job.flatfileitemwriter.name=fooWriter</argument>
            </arguments>
        </configuration>
    </plugin>
表 6. 性能AmqpItemWriter
财产 类型 默认值 描述

spring.batch.job.amqpitemwriter.enabledSpring中文文档

booleanSpring中文文档

falseSpring中文文档

如果 ,则运行自动配置。trueSpring中文文档

spring.batch.job.amqpitemwriter.jsonConverterEnabledSpring中文文档

booleanSpring中文文档

trueSpring中文文档

指示是否应注册以转换邮件。Jackson2JsonMessageConverterSpring中文文档

表 7. 性能FlatFileItemWriter
财产 类型 默认值 描述

spring.batch.job.flatfileitemwriter.resourceSpring中文文档

ResourceSpring中文文档

nullSpring中文文档

要读取的资源。Spring中文文档

spring.batch.job.flatfileitemwriter.delimitedSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示输出文件是否为分隔文件。如果 ,则必须是 。truespring.batch.job.flatfileitemwriter.formattedfalseSpring中文文档

spring.batch.job.flatfileitemwriter.formattedSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示输出文件是否为格式化文件。如果 ,则必须是 。truespring.batch.job.flatfileitemwriter.delimitedfalseSpring中文文档

spring.batch.job.flatfileitemwriter.formatSpring中文文档

StringSpring中文文档

nullSpring中文文档

用于生成格式化文件输出的格式。格式设置是通过使用 来执行的。String.formatSpring中文文档

spring.batch.job.flatfileitemwriter.localeSpring中文文档

LocaleSpring中文文档

Locale.getDefault()Spring中文文档

生成文件时要使用的。LocaleSpring中文文档

spring.batch.job.flatfileitemwriter.maximumLengthSpring中文文档

intSpring中文文档

0Spring中文文档

记录的最大长度。如果为 0,则大小不受限制。Spring中文文档

spring.batch.job.flatfileitemwriter.minimumLengthSpring中文文档

intSpring中文文档

0Spring中文文档

最小记录长度。Spring中文文档

spring.batch.job.flatfileitemwriter.delimiterSpring中文文档

StringSpring中文文档

,Spring中文文档

用于分隔分隔文件中的字段。StringSpring中文文档

spring.batch.job.flatfileitemwriter.encodingSpring中文文档

StringSpring中文文档

FlatFileItemReader.DEFAULT_CHARSETSpring中文文档

写入文件时要使用的编码。Spring中文文档

spring.batch.job.flatfileitemwriter.forceSyncSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示是否应在刷新时将文件强制同步到磁盘。Spring中文文档

spring.batch.job.flatfileitemwriter.namesSpring中文文档

String []Spring中文文档

nullSpring中文文档

从记录中解析的每个字段的名称列表。这些名称是 for this 接收到的项目中的键。Map<String, Object>ItemWriterSpring中文文档

spring.batch.job.flatfileitemwriter.appendSpring中文文档

booleanSpring中文文档

falseSpring中文文档

指示如果找到输出文件,是否应追加文件。Spring中文文档

spring.batch.job.flatfileitemwriter.lineSeparatorSpring中文文档

StringSpring中文文档

FlatFileItemWriter.DEFAULT_LINE_SEPARATORSpring中文文档

用于分隔输出文件中的行。StringSpring中文文档

spring.batch.job.flatfileitemwriter.nameSpring中文文档

StringSpring中文文档

nullSpring中文文档

用于在 中提供唯一键的名称。ExecutionContextSpring中文文档

spring.batch.job.flatfileitemwriter.saveStateSpring中文文档

booleanSpring中文文档

trueSpring中文文档

确定是否应保存状态以供重新启动。Spring中文文档

spring.batch.job.flatfileitemwriter.shouldDeleteIfEmptySpring中文文档

booleanSpring中文文档

falseSpring中文文档

如果设置为 ,则在作业完成时删除空文件(没有输出)。trueSpring中文文档

spring.batch.job.flatfileitemwriter.shouldDeleteIfExistsSpring中文文档

booleanSpring中文文档

trueSpring中文文档

如果设置为 并且找到输出文件应位于的位置的文件,则在步骤开始之前将其删除。trueSpring中文文档

spring.batch.job.flatfileitemwriter.transactionalSpring中文文档

booleanSpring中文文档

FlatFileItemWriter.DEFAULT_TRANSACTIONALSpring中文文档

指示读取器是否为事务队列(指示读取的项目在失败时返回到队列)。Spring中文文档

表 8. 性能JdbcBatchItemWriter
财产 类型 默认值 描述

spring.batch.job.jdbcbatchitemwriter.nameSpring中文文档

StringSpring中文文档

nullSpring中文文档

用于在 中提供唯一键的名称。ExecutionContextSpring中文文档

spring.batch.job.jdbcbatchitemwriter.sqlSpring中文文档

StringSpring中文文档

nullSpring中文文档

用于插入每个项的 SQL。Spring中文文档

spring.batch.job.jdbcbatchitemwriter.assertUpdatesSpring中文文档

booleanSpring中文文档

trueSpring中文文档

是否验证每个插入是否都会导致至少一条记录的更新。Spring中文文档

财产 类型 默认值 描述

spring.batch.job.jdbcbatchitemwriter.datasource.enableSpring中文文档

booleanSpring中文文档

falseSpring中文文档

确定是否应启用。JdbcCursorItemReaderDataSourceSpring中文文档

jdbcbatchitemwriter.datasource.urlSpring中文文档

StringSpring中文文档

nullSpring中文文档

数据库的 JDBC URL。Spring中文文档

jdbcbatchitemwriter.datasource.usernameSpring中文文档

StringSpring中文文档

nullSpring中文文档

数据库的登录用户名。Spring中文文档

jdbcbatchitemwriter.datasource.passwordSpring中文文档

StringSpring中文文档

nullSpring中文文档

数据库的登录密码。Spring中文文档

jdbcbatchitemreader.datasource.driver-class-nameSpring中文文档

StringSpring中文文档

nullSpring中文文档

JDBC 驱动程序的完全限定名称。Spring中文文档

如果未指定,则将使用 default。DataSourceJdbcBatchItemWriterjdbcbatchitemwriter_datasource
表 9. 性能KafkaItemWriter
财产 类型 默认值 描述

spring.batch.job.kafkaitemwriter.topicSpring中文文档

StringSpring中文文档

nullSpring中文文档

要编写的 Kafka 主题。Spring中文文档

spring.batch.job.kafkaitemwriter.deleteSpring中文文档

booleanSpring中文文档

falseSpring中文文档

传递给编写器的项目是否全部作为删除事件发送到主题。Spring中文文档