クラス FileSplitter
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.handler.AbstractMessageProducingHandler
org.springframework.integration.handler.AbstractReplyProducingMessageHandler
org.springframework.integration.splitter.AbstractMessageSplitter
org.springframework.integration.file.splitter.FileSplitter
- 実装されているすべてのインターフェース:
org.reactivestreams.Subscriber<Message<?>>、Aware、BeanClassLoaderAware、BeanFactoryAware、BeanNameAware、DisposableBean、InitializingBean、ApplicationContextAware、Ordered、ComponentSourceAware、ExpressionCapable、Orderable、MessageProducer、DiscardingMessageHandler、HeaderPropagationAware、IntegrationPattern、NamedComponent、IntegrationManagement、TrackableComponent、MessageHandler、reactor.core.CoreSubscriber<Message<?>>
FileSE メッセージペイロードを行に分割するための AbstractMessageSplitter 実装。iterator = true (デフォルトは true)を使用すると、このクラスは IteratorSE を生成して、Iterator.next() からのオンデマンドでファイル行を処理します。それ以外の場合は、すべての行の ListSE が、さらに AbstractMessageSplitter.handleRequestMessage(org.springframework.messaging.Message<?>) プロセスに返されます。
ファイルパスとして StringSE、ペイロード型として FileSE、ReaderSE、InputStreamSE を受け入れることができます。他のすべての型は無視され、そのまま AbstractMessageSplitter に返されます。
setFirstLineAsHeader(String) が指定されている場合、コンテンツの最初の行はヘッダーとして扱われ、残りの行に出力されるメッセージで指定された名前のヘッダーとして運ばれます。この場合、マーカーが有効になっていると、END マーカーの行数にヘッダー行が含まれず、applySequence が true の場合、ヘッダーはシーケンスに含まれません。
- 導入:
- 4.1.2
- 作成者:
- Artem Bilan, Gary Russell, Ruslan Stelmachenko
ネストされたクラスの要約
ネストされたクラスクラス org.springframework.integration.handler.AbstractReplyProducingMessageHandler から継承されたネストクラス / インターフェース
AbstractReplyProducingMessageHandler.RequestHandlerインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverridesフィールドのサマリー
クラス org.springframework.integration.handler.AbstractMessageProducingHandler から継承されたフィールド
messagingTemplateクラス org.springframework.integration.context.IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, loggerインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたフィールド
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEインターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCEコンストラクターの概要
コンストラクターコンストラクター説明splitMessage(Message)メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られるスプリッターを作成します。FileSplitter(boolean iterator) splitMessage(Message)メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られる、ファイルからの行のリストが読み取られるスプリッターを作成します。FileSplitter(boolean iterator, boolean markers) splitMessage(Message)メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られる、ファイルからの行のリストが読み取られるスプリッターを作成します。FileSplitter(boolean iterator, boolean markers, boolean markersJson) splitMessage(Message)メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られる、ファイルからの行のリストが読み取られるスプリッターを作成します。方法の概要
修飾子と型メソッド説明protected voidaddHeaders(Message<?> message, MapSE<StringSE, ObjectSE> headers) サブクラスが出力メッセージにヘッダーを追加できるようにします。voidsetCharset(@Nullable CharsetSE charset) デフォルトの文字セット以外のものが必要な場合に、ファイルを読み取るときに使用する文字セットを設定します。voidsetFirstLineAsHeader(StringSE firstLineHeaderName) 残りの行に対して発行されるメッセージのヘッダーとして伝送される最初の行のヘッダー名を指定します。protected ObjectSEsplitMessage(Message<?> message) 受信したメッセージを分割するには、サブクラスでこのメソッドをオーバーライドする必要があります。protected booleanwillAddHeaders(Message<?> message) サブクラスが結果の分割にヘッダーを追加する必要がある場合は、true を返します。クラス org.springframework.integration.splitter.AbstractMessageSplitter から継承されたメソッド
doInit, getComponentType, getDiscardChannel, getIntegrationPatternType, handleRequestMessage, obtainSizeIfPossible, obtainSizeIfPossible, produceOutput, setApplySequence, setDiscardChannel, setDiscardChannelName, shouldCopyRequestHeadersクラス org.springframework.integration.handler.AbstractReplyProducingMessageHandler から継承されたメソッド
doInvokeAdvisedRequestHandler, getBeanClassLoader, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReplyクラス org.springframework.integration.handler.AbstractMessageProducingHandler から継承されたメソッド
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, setupMessageProcessor, shouldSplitOutput, updateNotPropagatedHeadersクラス org.springframework.integration.handler.AbstractMessageHandler から継承されたメソッド
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConventionクラス org.springframework.integration.handler.MessageHandlerSupport から継承されたメソッド
buildSendTimer, destroy, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackクラス org.springframework.integration.context.IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringクラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSEインターフェース reactor.core.CoreSubscriber から継承されたメソッド
currentContextインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたメソッド
getThisAsインターフェース org.springframework.messaging.MessageHandler から継承されたメソッド
handleMessageインターフェース org.springframework.integration.support.context.NamedComponent から継承されたメソッド
getBeanName, getComponentName
コンストラクターの詳細
FileSplitter
public FileSplitter()splitMessage(Message)メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られるスプリッターを作成します。FileSplitter
public FileSplitter(boolean iterator) splitMessage(Message)メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られる、ファイルからの行のリストが読み取られるスプリッターを作成します。- パラメーター:
iterator- true はイテレータを返し、false は行のリストを返します。
FileSplitter
public FileSplitter(boolean iterator, boolean markers) splitMessage(Message)メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られる、ファイルからの行のリストが読み取られるスプリッターを作成します。ファイルマーカーが有効になっている場合(START/END)、applySequenceはデフォルトで false です。有効にすると、マーカーはシーケンスサイズに含まれます。- パラメーター:
iterator- true はイテレータを返し、false は行のリストを返します。markers- データの前後にファイルの開始 / ファイルの終了マーカーメッセージを出力する場合は true。- 導入:
- 4.1.5
FileSplitter
public FileSplitter(boolean iterator, boolean markers, boolean markersJson) splitMessage(Message)メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られる、ファイルからの行のリストが読み取られるスプリッターを作成します。ファイルマーカーが有効になっている場合(START/END)、applySequenceはデフォルトで false です。有効にすると、マーカーはシーケンスサイズに含まれます。- パラメーター:
iterator- true はイテレータを返し、false は行のリストを返します。markers- データの前後にファイルの開始 / ファイルの終了マーカーメッセージを出力する場合は true。markersJson- true の場合、マーカーは JSON として表されます。- 導入:
- 4.2.7
メソッドの詳細
setCharset
デフォルトの文字セット以外のものが必要な場合に、ファイルを読み取るときに使用する文字セットを設定します。- パラメーター:
charset- 文字セット。
setFirstLineAsHeader
残りの行に対して発行されるメッセージのヘッダーとして伝送される最初の行のヘッダー名を指定します。- パラメーター:
firstLineHeaderName- 最初の行を運ぶヘッダー名。- 導入:
- 5.0
splitMessage
クラスからコピーされた説明:AbstractMessageSplitter受信したメッセージを分割するには、サブクラスでこのメソッドをオーバーライドする必要があります。戻り値は、コレクションまたは配列です。個々の要素はメッセージの場合がありますが、必須ではありません。要素がメッセージではない場合、それぞれがメッセージのペイロードとして提供されます。単一のオブジェクトまたはメッセージを返すことも可能です。その場合、単一の応答メッセージが作成されます。- 次で指定:
- クラス
AbstractMessageSplitterのsplitMessage - パラメーター:
message- メッセージ。- 戻り値:
- メッセージを分割した結果。
willAddHeaders
クラスからコピーされた説明:AbstractMessageSplitterサブクラスが結果の分割にヘッダーを追加する必要がある場合は、true を返します。true の場合、AbstractMessageSplitter.addHeaders(org.springframework.messaging.Message<?>, java.util.Map<java.lang.String, java.lang.Object>)が呼び出されます。- オーバーライド:
- クラス
AbstractMessageSplitterのwillAddHeaders - パラメーター:
message- メッセージ。- 戻り値:
- true
addHeaders
クラスからコピーされた説明:AbstractMessageSplitterサブクラスが出力メッセージにヘッダーを追加できるようにします。この方法ではヘッダーを削除できません。- オーバーライド:
- クラス
AbstractMessageSplitterのaddHeaders - パラメーター:
message- 受信メッセージ。headers- メッセージを追加するヘッダー。