@ComponentProfile(summary="Split a JSON Array into individual JSON objects", tag="json,splitting") public class LargeJsonArraySplitter extends MessageSplitterImp
Note: tested with an 85Mb file containing an array of >15k JSON objects
In the adapter configuration file this class is aliased as large-json-array-splitter which is the preferred alternative to the fully qualified classname when building your configuration.
Modifier and Type | Class and Description |
---|---|
protected class |
LargeJsonArraySplitter.GeneratorConfig |
protected class |
LargeJsonArraySplitter.JsonSplitGenerator |
MessageSplitterImp.SplitMessageIterator
logR
Constructor and Description |
---|
LargeJsonArraySplitter() |
Modifier and Type | Method and Description |
---|---|
protected LargeJsonArraySplitter.JsonSplitGenerator |
createSplitter(LargeJsonArraySplitter.GeneratorConfig cfg) |
java.lang.Integer |
getBufferSize() |
void |
setBufferSize(java.lang.Integer b)
Set the internal buffer size.
|
CloseableIterable<AdaptrisMessage> |
splitMessage(AdaptrisMessage msg) |
LargeJsonArraySplitter |
withBufferSize(java.lang.Integer i) |
LargeJsonArraySplitter |
withMessageFactory(AdaptrisMessageFactory fac) |
copyMetadata, getCopyMetadata, getCopyObjectMetadata, getMessageFactory, selectFactory, setCopyMetadata, setCopyObjectMetadata, setMessageFactory
public java.lang.Integer getBufferSize()
public void setBufferSize(java.lang.Integer b)
This is used when; the default buffer size matches the default buffer size in BufferedReader
and BufferedWriter
, changes to the buffersize will impact performance and memory usage depending on the underlying operating system/disk.
b
- the buffer size (default is 8192).public LargeJsonArraySplitter withBufferSize(java.lang.Integer i)
public LargeJsonArraySplitter withMessageFactory(AdaptrisMessageFactory fac)
public CloseableIterable<AdaptrisMessage> splitMessage(AdaptrisMessage msg) throws CoreException
CoreException
protected LargeJsonArraySplitter.JsonSplitGenerator createSplitter(LargeJsonArraySplitter.GeneratorConfig cfg)