Migrating the existing structure from the following location: https://github.com/spring-cloud-stream-app-starters/stream-applications/tree/restructuring
29 lines
1.7 KiB
Plaintext
29 lines
1.7 KiB
Plaintext
//tag::ref-doc[]
|
|
= Splitter Processor
|
|
|
|
The splitter app builds upon the concept of the same name in Spring Integration and allows the splitting of a single message into several distinct messages.
|
|
The processor uses a function that takes a `Message<?>` as input and then produces a `List<Message<?>` as output based on various properties (see below).
|
|
You can use a SpEL expression or a delimiter to specify how you want to split the incoming message.
|
|
|
|
=== Payload
|
|
|
|
* Incoming payload - `Message<?`>
|
|
|
|
If the incoming type is `byte[]` and the content type is set to `text/plain` or `application/json`, then the application converts the `byte[]` into `String`.
|
|
|
|
* Outgoing payload - `List<Message<?>`
|
|
|
|
|
|
== Options
|
|
|
|
//tag::configuration-properties[]
|
|
$$splitter.apply-sequence$$:: $$Add correlation/sequence information in headers to facilitate later aggregation.$$ *($$Boolean$$, default: `$$true$$`)*
|
|
$$splitter.charset$$:: $$The charset to use when converting bytes in text-based files to String.$$ *($$String$$, default: `$$<none>$$`)*
|
|
$$splitter.delimiters$$:: $$When expression is null, delimiters to use when tokenizing {@link String} payloads.$$ *($$String$$, default: `$$<none>$$`)*
|
|
$$splitter.expression$$:: $$A SpEL expression for splitting payloads.$$ *($$String$$, default: `$$<none>$$`)*
|
|
$$splitter.file-markers$$:: $$Set to true or false to use a {@code FileSplitter} (to split text-based files by line) that includes (or not) beginning/end of file markers.$$ *($$Boolean$$, default: `$$<none>$$`)*
|
|
$$splitter.markers-json$$:: $$When 'fileMarkers == true', specify if they should be produced as FileSplitter.FileMarker objects or JSON.$$ *($$Boolean$$, default: `$$true$$`)*
|
|
//end::configuration-properties[]
|
|
|
|
//end::ref-doc[]
|