public class FileSplitter extends AbstractMessageSplitter
File
SE メッセージペイロードを行に分割するための AbstractMessageSplitter
実装。iterator = true
(デフォルトは true
)を使用すると、このクラスは Iterator
SE を生成して、Iterator.next()
SE からのオンデマンドでファイル行を処理します。それ以外の場合は、すべての行の List
SE が、さらに AbstractMessageSplitter.handleRequestMessage(org.springframework.messaging.Message<?>)
プロセスに返されます。
ファイルパスとして String
SE、ペイロード型として File
SE、Reader
SE、InputStream
SE を受け入れることができます。他のすべての型は無視され、そのまま AbstractMessageSplitter
に返されます。
setFirstLineAsHeader(String)
が指定されている場合、コンテンツの最初の行はヘッダーとして扱われ、残りの行に出力されるメッセージで指定された名前のヘッダーとして運ばれます。この場合、マーカーが有効になっていると、END マーカーの行数にヘッダー行が含まれず、applySequence
が true の場合、ヘッダーはシーケンスに含まれません。
修飾子と型 | クラスと説明 |
---|---|
static class | FileSplitter.FileMarker |
AbstractReplyProducingMessageHandler.RequestHandler
IntegrationManagement.ManagementOverrides
messagingTemplate
EXPRESSION_PARSER, logger
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
コンストラクターと説明 |
---|
FileSplitter() splitMessage(Message) メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られるスプリッターを作成します。 |
FileSplitter(boolean iterator) splitMessage(Message) メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られる、ファイルからの行のリストが読み取られるスプリッターを作成します。 |
FileSplitter(boolean iterator, boolean markers) splitMessage(Message) メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られる、ファイルからの行のリストが読み取られるスプリッターを作成します。 |
FileSplitter(boolean iterator, boolean markers, boolean markersJson) splitMessage(Message) メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られる、ファイルからの行のリストが読み取られるスプリッターを作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
protected void | addHeaders(Message<?> message, MapSE<StringSE, ObjectSE> headers) サブクラスが出力メッセージにヘッダーを追加できるようにします。 |
void | setCharset(CharsetSE charset) デフォルトの文字セット以外のものが必要な場合に、ファイルを読み取るときに使用する文字セットを設定します。 |
void | setFirstLineAsHeader(StringSE firstLineHeaderName) 残りの行に対して発行されるメッセージのヘッダーとして伝送される最初の行のヘッダー名を指定します。 |
protected ObjectSE | splitMessage(Message<?> message) 受信したメッセージを分割するには、サブクラスでこのメソッドをオーバーライドする必要があります。 |
protected boolean | willAddHeaders(Message<?> message) サブクラスが結果の分割にヘッダーを追加する必要がある場合は、true を返します。 |
doInit, getComponentType, getDiscardChannel, getIntegrationPatternType, handleRequestMessage, obtainSizeIfPossible, obtainSizeIfPossible, produceOutput, setApplySequence, setDiscardChannel, setDiscardChannelName, shouldCopyRequestHeaders
doInvokeAdvisedRequestHandler, getBeanClassLoader, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReply
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, shouldSplitOutput, updateNotPropagatedHeaders
handleMessage, onComplete, onError, onNext, onSubscribe
buildSendTimer, destroy, getManagedName, getManagedType, getMetricsCaptor, getOrder, getOverrides, isLoggingEnabled, registerMetricsCaptor, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrack
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
handleMessage
getThisAs
getBeanName, getComponentName
public FileSplitter()
splitMessage(Message)
メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られるスプリッターを作成します。public FileSplitter(boolean iterator)
splitMessage(Message)
メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られる、ファイルからの行のリストが読み取られるスプリッターを作成します。iterator
- true はイテレータを返し、false は行のリストを返します。public FileSplitter(boolean iterator, boolean markers)
splitMessage(Message)
メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られる、ファイルからの行のリストが読み取られるスプリッターを作成します。ファイルマーカーが有効になっている場合(START/END)、applySequence
はデフォルトで false です。有効にすると、マーカーはシーケンスサイズに含まれます。iterator
- true はイテレータを返し、false は行のリストを返します。markers
- データの前後にファイルの開始 / ファイルの終了マーカーメッセージを出力する場合は true。public FileSplitter(boolean iterator, boolean markers, boolean markersJson)
splitMessage(Message)
メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られる、ファイルからの行のリストが読み取られるスプリッターを作成します。ファイルマーカーが有効になっている場合(START/END)、applySequence
はデフォルトで false です。有効にすると、マーカーはシーケンスサイズに含まれます。iterator
- true はイテレータを返し、false は行のリストを返します。markers
- データの前後にファイルの開始 / ファイルの終了マーカーメッセージを出力する場合は true。markersJson
- true の場合、マーカーは JSON として表されます。public void setCharset(@Nullable CharsetSE charset)
charset
- 文字セット。public void setFirstLineAsHeader(StringSE firstLineHeaderName)
firstLineHeaderName
- 最初の行を運ぶヘッダー名。protected ObjectSE splitMessage(Message<?> message)
AbstractMessageSplitter
AbstractMessageSplitter
の splitMessage
message
- メッセージ。protected boolean willAddHeaders(Message<?> message)
AbstractMessageSplitter
AbstractMessageSplitter.addHeaders(org.springframework.messaging.Message<?>, java.util.Map<java.lang.String, java.lang.Object>)
が呼び出されます。AbstractMessageSplitter
の willAddHeaders
message
- メッセージ。protected void addHeaders(Message<?> message, MapSE<StringSE,ObjectSE> headers)
AbstractMessageSplitter
AbstractMessageSplitter
の addHeaders
message
- 受信メッセージ。headers
- メッセージを追加するヘッダー。