public class CharacterStreamReadingMessageSource extends AbstractMessageSource<StringSE> implements ApplicationEventPublisherAware
ReadersSE のポーリング可能なソース。IntegrationManagement.ManagementOverridesEXPRESSION_PARSER, loggerMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME| コンストラクターと説明 |
|---|
CharacterStreamReadingMessageSource(ReaderSE reader) プロバイダーリーダーを使用してインスタンスを構築します。 |
CharacterStreamReadingMessageSource(ReaderSE reader, int bufferSize) プロバイダーリーダーとバッファーサイズを使用してインスタンスを構築します。 |
CharacterStreamReadingMessageSource(ReaderSE reader, int bufferSize, boolean blockToDetectEOF) 提供されたリーダーとバッファーサイズでインスタンスを構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
StringSE | doReceive() サブクラスはこのメソッドを実装する必要があります。 |
StringSE | getComponentType() |
void | setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) |
static CharacterStreamReadingMessageSource | stdin()System.inSE から読み取るソースを作成します。 |
static CharacterStreamReadingMessageSource | stdin(StringSE charsetName)System.inSE から読み取るソースを作成します。 |
static CharacterStreamReadingMessageSource | stdinPipe()System.inSE から読み取るソースを作成します。 |
static CharacterStreamReadingMessageSource | stdinPipe(StringSE charsetName)System.inSE から読み取るソースを作成します。 |
buildMessage, destroy, getBeanName, getComponentName, getManagedName, getManagedType, getOverrides, isLoggingEnabled, receive, registerMetricsCaptor, setBeanName, setHeaderExpressions, setLoggingEnabled, setManagedName, setManagedTypeafterPropertiesSet, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, getBeanFactory, getEvaluationContext, getEvaluationContext, getMessageBuilderFactory, onInit, setBeanFactory, setConversionServicecloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEgetIntegrationPatternTypegetThisAspublic CharacterStreamReadingMessageSource(ReaderSE reader)
AbstractMessageSource.receive() は null を返します。reader - リーダー。public CharacterStreamReadingMessageSource(ReaderSE reader, int bufferSize)
AbstractMessageSource.receive() は null を返します。reader - リーダー。bufferSize - バッファサイズ。public CharacterStreamReadingMessageSource(ReaderSE reader, int bufferSize, boolean blockToDetectEOF)
blockToDetectEOF が false の場合、リーダーの準備ができていないときに AbstractMessageSource.receive() は null を返します。true の場合、スレッドはデータが利用可能になるまでブロックします。基になるストリームが閉じられると、StreamClosedEvent が公開され、ApplicationListener を介してアプリケーションに通知されます。これは、たとえば、stdin を接続機能するときに役立ちます。
cat foo.txt | java -jar my.jar
または
java -jar my.jar < foo.txt
reader - リーダー。bufferSize - バッファサイズ。負の場合は、BufferedReaderSE のデフォルトを使用します。blockToDetectEOF - データが利用可能になるまでスレッドをブロックし、EOF で StreamClosedEvent を公開する場合は true。public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher)
ApplicationEventPublisherAware の setApplicationEventPublisher public StringSE getComponentType()
NamedComponent の getComponentType public StringSE doReceive()
AbstractMessageSourcepayload ですが、戻り値はペイロードが T 型の Message インスタンスでもかまいません。追加のヘッダーの作成に使用される AbstractIntegrationMessageBuilder にすることもできます。AbstractMessageSource<StringSE> の doReceive public static final CharacterStreamReadingMessageSource stdin()
System.inSE から読み取るソースを作成します。EOF は検出されません。public static final CharacterStreamReadingMessageSource stdin(StringSE charsetName)
System.inSE から読み取るソースを作成します。EOF は検出されません。charsetName - バイトを文字列に変換するときに使用する文字セット。public static final CharacterStreamReadingMessageSource stdinPipe()
System.inSE から読み取るソースを作成します。EOF が検出され、アプリケーションコンテキストが閉じられます。CharacterStreamReadingMessageSource(Reader, int, boolean)public static final CharacterStreamReadingMessageSource stdinPipe(StringSE charsetName)
System.inSE から読み取るソースを作成します。EOF が検出され、アプリケーションコンテキストが閉じられます。charsetName - バイトを文字列に変換するときに使用する文字セット。CharacterStreamReadingMessageSource(Reader, int, boolean)