public class BatchedJsonArraySplitter extends LargeJsonArraySplitter
This is a extension to LargeJsonArraySplitter
; each resulting message is still a JSON array, it just
contains slightly fewer elements than the original message.
For instance given the following JSON Array;
[
{"colour": "red","value": "#f00"},
{"colour": "green","value": "#0f0"},
{"colour": "blue","value": "#00f"},
{"colour": "black","value": "#000"}
]
with a batchSize of 2
then we would expect to split messages; each a JSON array containing two elements. e.g. :
[{ "colour": "red", "value": "#f00" }, { "colour": "green", "value": "#0f0"}]
and [{ "colour": "blue","value":
"#00f"}, { "colour": "black", "value": "#000"}]
In the adapter configuration file this class is aliased as batched-json-array-splitter which is the preferred alternative to the fully qualified classname when building your configuration.
LargeJsonArraySplitter.GeneratorConfig, LargeJsonArraySplitter.JsonSplitGenerator
MessageSplitterImp.SplitMessageIterator
logR
Constructor and Description |
---|
BatchedJsonArraySplitter() |
Modifier and Type | Method and Description |
---|---|
protected LargeJsonArraySplitter.JsonSplitGenerator |
createSplitter(LargeJsonArraySplitter.GeneratorConfig cfg) |
java.lang.Integer |
getBatchSize() |
void |
setBatchSize(java.lang.Integer batchSize)
Set the batch size.
|
BatchedJsonArraySplitter |
withBatchSize(java.lang.Integer i) |
BatchedJsonArraySplitter |
withBufferSize(java.lang.Integer i) |
BatchedJsonArraySplitter |
withMessageFactory(AdaptrisMessageFactory fac) |
getBufferSize, setBufferSize, splitMessage
copyMetadata, getCopyMetadata, getCopyObjectMetadata, getMessageFactory, selectFactory, setCopyMetadata, setCopyObjectMetadata, setMessageFactory
public BatchedJsonArraySplitter withBufferSize(java.lang.Integer i)
withBufferSize
in class LargeJsonArraySplitter
public BatchedJsonArraySplitter withMessageFactory(AdaptrisMessageFactory fac)
withMessageFactory
in class LargeJsonArraySplitter
public java.lang.Integer getBatchSize()
public void setBatchSize(java.lang.Integer batchSize)
batchSize
- the size, default is 10 if not specified.public BatchedJsonArraySplitter withBatchSize(java.lang.Integer i)
protected LargeJsonArraySplitter.JsonSplitGenerator createSplitter(LargeJsonArraySplitter.GeneratorConfig cfg)
createSplitter
in class LargeJsonArraySplitter