public class FileSplitter extends AbstractMessageSplitter
AbstractMessageSplitter implementation to split the File
Message payload to lines.
With iterator = true (defaults to true) this class produces an Iterator
to process file lines on demand from Iterator.next().
Otherwise a List of all lines is returned to the to further
AbstractMessageSplitter.handleRequestMessage(org.springframework.messaging.Message<?>) process.
Can accept String as file path, File, Reader or InputStream
as payload type.
All other types are ignored and returned to the AbstractMessageSplitter as is.
| Modifier and Type | Class and Description |
|---|---|
static class |
FileSplitter.FileMarker |
AbstractReplyProducingMessageHandler.RequestHandlermessagingTemplateloggerHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE| Constructor and Description |
|---|
FileSplitter()
Construct a splitter where the
splitMessage(Message) method returns
an iterator and the file is read line-by-line during iteration. |
FileSplitter(boolean iterator)
Construct a splitter where the
splitMessage(Message) method returns
an iterator, and the file is read line-by-line during iteration, or a list
of lines from the file. |
FileSplitter(boolean iterator,
boolean markers)
Construct a splitter where the
splitMessage(Message) method returns
an iterator, and the file is read line-by-line during iteration, or a list
of lines from the file. |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addHeaders(Message<?> message,
Map<String,Object> headers)
Allows subclasses to add extra headers to the output messages.
|
void |
setCharset(Charset charset)
Set the charset to be used when reading the file, when something other than the default
charset is required.
|
protected Object |
splitMessage(Message<?> message)
Subclasses must override this method to split the received Message.
|
protected boolean |
willAddHeaders(Message<?> message)
Return true if the subclass needs to add headers in the resulting splits.
|
getComponentType, handleRequestMessage, produceOutput, setApplySequence, shouldCopyRequestHeadersdoInit, doInvokeAdvisedRequestHandler, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReplygetOutputChannel, sendOutputs, setOutputChannel, setOutputChannelName, setSendTimeout, shouldSplitOutputconfigureMetrics, getActiveCount, getActiveCountLong, getDuration, getErrorCount, getErrorCountLong, getHandleCount, getHandleCountLong, getManagedName, getManagedType, getMaxDuration, getMeanDuration, getMinDuration, getOrder, getStandardDeviationDuration, handleMessage, isCountsEnabled, isLoggingEnabled, isStatsEnabled, reset, setCountsEnabled, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, setStatsEnabledafterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getConversionService, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setTaskScheduler, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetComponentNamepublic FileSplitter()
splitMessage(Message) method returns
an iterator and the file is read line-by-line during iteration.public FileSplitter(boolean iterator)
splitMessage(Message) method returns
an iterator, and the file is read line-by-line during iteration, or a list
of lines from the file.iterator - true to return an iterator, false to return a list of lines.public FileSplitter(boolean iterator,
boolean markers)
splitMessage(Message) method returns
an iterator, and the file is read line-by-line during iteration, or a list
of lines from the file. When file markers are enabled (START/END)
applySequence is false by default. If enabled,
the markers are included in the sequence size.iterator - true to return an iterator, false to return a list of lines.markers - true to emit start of file/end of file marker messages before/after the data.public void setCharset(Charset charset)
charset - the charset.protected Object splitMessage(Message<?> message)
AbstractMessageSplittersplitMessage in class AbstractMessageSplittermessage - The message.protected boolean willAddHeaders(Message<?> message)
AbstractMessageSplitterAbstractMessageSplitter.addHeaders(org.springframework.messaging.Message<?>, java.util.Map<java.lang.String, java.lang.Object>) will be called.willAddHeaders in class AbstractMessageSplittermessage - the message.protected void addHeaders(Message<?> message, Map<String,Object> headers)
AbstractMessageSplitteraddHeaders in class AbstractMessageSplittermessage - the inbound message.headers - the headers to add messages to.