public class CharacterStreamReadingMessageSource extends AbstractMessageSource<StringSE> implements ApplicationEventPublisherAware
Readers
SE のポーリング可能なソース。IntegrationManagement.ManagementOverrides
EXPRESSION_PARSER, logger
METER_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.in SE から読み取るソースを作成します。 |
static CharacterStreamReadingMessageSource | stdin(StringSE charsetName) System.in SE から読み取るソースを作成します。 |
static CharacterStreamReadingMessageSource | stdinPipe() System.in SE から読み取るソースを作成します。 |
static CharacterStreamReadingMessageSource | stdinPipe(StringSE charsetName) System.in SE から読み取るソースを作成します。 |
buildMessage, destroy, getBeanName, getComponentName, getManagedName, getManagedType, getOverrides, isLoggingEnabled, receive, registerMetricsCaptor, setBeanName, setHeaderExpressions, setLoggingEnabled, setManagedName, setManagedType
afterPropertiesSet, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, getBeanFactory, getEvaluationContext, getEvaluationContext, getMessageBuilderFactory, onInit, setBeanFactory, setConversionService
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
getIntegrationPatternType
getThisAs
public 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
- バッファサイズ。負の場合は、BufferedReader
SE のデフォルトを使用します。blockToDetectEOF
- データが利用可能になるまでスレッドをブロックし、EOF で StreamClosedEvent
を公開する場合は true。public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher)
ApplicationEventPublisherAware
の setApplicationEventPublisher
public StringSE getComponentType()
NamedComponent
の getComponentType
public StringSE doReceive()
AbstractMessageSource
payload
ですが、戻り値はペイロードが T 型の Message
インスタンスでもかまいません。追加のヘッダーの作成に使用される AbstractIntegrationMessageBuilder
にすることもできます。AbstractMessageSource<StringSE>
の doReceive
public static final CharacterStreamReadingMessageSource stdin()
System.in
SE から読み取るソースを作成します。EOF は検出されません。public static final CharacterStreamReadingMessageSource stdin(StringSE charsetName)
System.in
SE から読み取るソースを作成します。EOF は検出されません。charsetName
- バイトを文字列に変換するときに使用する文字セット。public static final CharacterStreamReadingMessageSource stdinPipe()
System.in
SE から読み取るソースを作成します。EOF が検出され、アプリケーションコンテキストが閉じられます。CharacterStreamReadingMessageSource(Reader, int, boolean)
public static final CharacterStreamReadingMessageSource stdinPipe(StringSE charsetName)
System.in
SE から読み取るソースを作成します。EOF が検出され、アプリケーションコンテキストが閉じられます。charsetName
- バイトを文字列に変換するときに使用する文字セット。CharacterStreamReadingMessageSource(Reader, int, boolean)