クラス ReactiveRedisStreamMessageProducer
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.endpoint.AbstractEndpoint
org.springframework.integration.endpoint.MessageProducerSupport
org.springframework.integration.redis.inbound.ReactiveRedisStreamMessageProducer
- 実装されているすべてのインターフェース:
Aware、BeanFactoryAware、BeanNameAware、DisposableBean、InitializingBean、SmartInitializingSingleton、ApplicationContextAware、Lifecycle、Phased、SmartLifecycle、ExpressionCapable、MessageProducer、IntegrationPattern、NamedComponent、ManageableLifecycle、ManageableSmartLifecycle、TrackableComponent
public class ReactiveRedisStreamMessageProducer extends MessageProducerSupport
Redis ストリームからメッセージを読み取り、提供された出力チャネルに公開するための
MessageProducerSupport。デフォルトでは、このアダプターはメッセージをスタンドアロンクライアント XREAD (Redis コマンド)として読み取りますが、consumerName フィールドを設定することにより、コンシューマーグループ機能 XREADGROUP に切り替えることができます。デフォルトでは、コンシューマーグループ名はこの Bean IntegrationObjectSupport.getBeanName() の ID です。- 導入:
- 5.4
- 作成者:
- Attoumane Ahamadi, Artem Bilan, Rohan Mukesh
フィールドのサマリー
クラス org.springframework.integration.endpoint.AbstractEndpoint から継承されたフィールド
lifecycleCondition, lifecycleLockクラス org.springframework.integration.context.IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, loggerコンストラクターの概要
コンストラクター コンストラクター 説明 ReactiveRedisStreamMessageProducer(ReactiveRedisConnectionFactory reactiveConnectionFactory, StringSE streamKey)メソッドのサマリー
修飾子と型 メソッド 説明 protected voiddoStart()デフォルトでは何もしません。StringSEgetComponentType()サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。protected voidonInit()サブクラスは、初期化ロジック用にこれを実装できます。voidsetAutoAck(boolean autoAck)コンシューマーグループで読み取ったメッセージを確認するかどうかを設定します。voidsetBatchSize(int recordsPerPoll)読み取り中に COUNT オプションのバッチサイズを構成します。voidsetConsumerGroup(StringSE consumerGroup)コンシューマーグループの名前を設定します。voidsetConsumerName(StringSE consumerName)コンシューマーの名前を設定します。voidsetCreateConsumerGroup(boolean createConsumerGroup)コンシューマーグループが存在しない場合にのみ、コンシューマーグループを作成します。voidsetExtractPayload(boolean extractPayload)このチャネルアダプターを構成して、Recordから値を抽出するかどうかを指定します。voidsetObjectMapper(HashMapper<?,?,?> hashMapper)ハッシュマッパーを構成します。voidsetOnErrorResume(FunctionSE<? super ThrowableSE,? extends org.reactivestreams.Publisher<VoidSE>> resumeFunction)ストリームのポーリングが失敗したときにメインシーケンスを再開するように再開機能を構成します。voidsetPollTimeout(DurationSE pollTimeout)読み取り中の BLOCK オプションのポーリングタイムアウトを設定します。voidsetReadOffset(ReadOffset readOffset)メッセージを読み取るオフセットを定義します。voidsetSerializer(RedisSerializationContext.SerializationPair<?> pair)キー、ハッシュキー、ハッシュ値シリアライザーを構成します。voidsetStreamReceiverOptions(StreamReceiver.StreamReceiverOptions<StringSE,?> streamReceiverOptions)StreamReceiverのカスタマイズに使用するReactiveStreamOperationsを設定します。voidsetTargetType(ClassSE<?> targetType)ハッシュターゲット型を構成します。クラス org.springframework.integration.endpoint.MessageProducerSupport から継承されたメソッド
afterSingletonsInstantiated, buildErrorMessage, doStop, getErrorChannel, getErrorMessageAttributes, getIntegrationPatternType, getMessagingTemplate, getOutputChannel, sendErrorMessageIfNecessary, sendMessage, setErrorChannel, setErrorChannelName, setErrorMessageStrategy, setOutputChannel, setOutputChannelName, setSendTimeout, setShouldTrack, subscribeToPublisherクラス org.springframework.integration.endpoint.AbstractEndpoint から継承されたメソッド
destroy, doStop, getPhase, getRole, isActive, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stopクラス org.springframework.integration.context.IntegrationObjectSupport から継承されたメソッド
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クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSEインターフェース org.springframework.integration.support.context.NamedComponent から継承されたメソッド
getBeanName, getComponentName
コンストラクターの詳細
ReactiveRedisStreamMessageProducer
public ReactiveRedisStreamMessageProducer(ReactiveRedisConnectionFactory reactiveConnectionFactory, StringSE streamKey)
メソッドの詳細
setReadOffset
メッセージを読み取るオフセットを定義します。デフォルトでは、ReadOffset.latest()が使用されます。ReadOffset.latest()は、ストリームに追加された新しいデータを取得するためにXREADで使用される ID である "$" と同じです。コンシューマーグループ機能に切り替えるときに、それがReadOffset.latest()と等しい場合は、ReadOffset.lastConsumed()に設定することに注意してください。- パラメーター:
readOffset- 希望のオフセット
setExtractPayload
public void setExtractPayload(boolean extractPayload)このチャネルアダプターを構成して、Recordから値を抽出するかどうかを指定します。- パラメーター:
extractPayload- デフォルト true
setAutoAck
public void setAutoAck(boolean autoAck)コンシューマーグループで読み取ったメッセージを確認するかどうかを設定します。デフォルトではtrue。- パラメーター:
autoAck- 確認オプション。
setConsumerGroup
コンシューマーグループの名前を設定します。必要に応じて、そのコンシューマーグループを作成することができます。createConsumerGroupを参照してください。設定されていない場合、定義された Bean 名IntegrationObjectSupport.getBeanName()が使用されます。- パラメーター:
consumerGroup- このアダプターがメッセージをリッスンするために登録する必要があるコンシューマーグループ。
setConsumerName
コンシューマーの名前を設定します。コンシューマー名が指定されると、このアダプターはコンシューマーグループ機能に切り替えられます。この値はグループ内で一意である必要があることに注意してください。- パラメーター:
consumerName- コンシューマーグループのコンシューマー名
setCreateConsumerGroup
public void setCreateConsumerGroup(boolean createConsumerGroup)コンシューマーグループが存在しない場合にのみ、コンシューマーグループを作成します。作成中に、ストリームも作成します。MKSTREAMを参照してください。- パラメーター:
createConsumerGroup- コンシューマーグループ、デフォルトでfalseを作成する必要があるかどうかを指定します
setStreamReceiverOptions
public void setStreamReceiverOptions(@Nullable StreamReceiver.StreamReceiverOptions<StringSE,?> streamReceiverOptions)StreamReceiverをカスタマイズするために使用されるReactiveStreamOperationsを設定します。ポーリングタイムアウトと直列化コンテキストを設定する方法を提供します。デフォルトでは、ポーリングタイムアウトは無限に設定され、StringRedisSerializerが使用されます。'pollTimeout'、'batchSize'、'onErrorResume'、'serializer'、'targetType'、'objectMapper' とは相互に排他的です。- パラメーター:
streamReceiverOptions- 必要なレシーバーオプション
setPollTimeout
読み取り中の BLOCK オプションのポーリングタイムアウトを設定します。setStreamReceiverOptions(StreamReceiver.StreamReceiverOptions)と相互に排他的です。- パラメーター:
pollTimeout- ポーリングのタイムアウト。- 導入:
- 5.5
- 関連事項:
StreamReceiver.StreamReceiverOptionsBuilder.pollTimeout(Duration)
setBatchSize
public void setBatchSize(int recordsPerPoll)読み取り中に COUNT オプションのバッチサイズを構成します。setStreamReceiverOptions(StreamReceiver.StreamReceiverOptions)と相互に排他的です。- パラメーター:
recordsPerPoll- ゼロより大きくなければなりません。- 導入:
- 5.5
- 関連事項:
StreamReceiver.StreamReceiverOptionsBuilder.batchSize(int)
setOnErrorResume
public void setOnErrorResume(FunctionSE<? super ThrowableSE,? extends org.reactivestreams.Publisher<VoidSE>> resumeFunction)ストリームのポーリングが失敗したときにメインシーケンスを再開するように再開機能を構成します。setStreamReceiverOptions(StreamReceiver.StreamReceiverOptions)と相互に排他的です。デフォルトでは、この関数は失敗したRecordを抽出し、提供されたMessageProducerSupport.setErrorChannel(org.springframework.messaging.MessageChannel)にErrorMessageを送信します。このメッセージプロデューサーに手動確認応答が構成されている場合、このレコードの失敗したメッセージにはIntegrationMessageHeaderAccessor.ACKNOWLEDGMENT_CALLBACKヘッダーが含まれる場合があります。- パラメーター:
resumeFunction- null であってはなりません。- 導入:
- 5.5
- 関連事項:
StreamReceiver.StreamReceiverOptionsBuilder.onErrorResume(Function)
setSerializer
キー、ハッシュキー、ハッシュ値シリアライザーを構成します。setStreamReceiverOptions(StreamReceiver.StreamReceiverOptions)と相互に排他的です。- パラメーター:
pair- null であってはなりません。- 導入:
- 5.5
- 関連事項:
StreamReceiver.StreamReceiverOptionsBuilder.serializer(RedisSerializationContext)
setTargetType
ハッシュターゲット型を構成します。発行されたレコード型を ObjectRecord に変更します。setStreamReceiverOptions(StreamReceiver.StreamReceiverOptions)と相互に排他的です。- パラメーター:
targetType- null であってはなりません。- 導入:
- 5.5
- 関連事項:
StreamReceiver.StreamReceiverOptionsBuilder.targetType(Class)
setObjectMapper
ハッシュマッパーを構成します。setStreamReceiverOptions(StreamReceiver.StreamReceiverOptions)と相互に排他的です。- パラメーター:
hashMapper- null であってはなりません。- 導入:
- 5.5
- 関連事項:
StreamReceiver.StreamReceiverOptionsBuilder.objectMapper(HashMapper)
getComponentType
クラスからコピーされた説明:IntegrationObjectSupportサブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。- 次で指定:
- インターフェース
NamedComponentのgetComponentType - オーバーライド:
- クラス
IntegrationObjectSupportのgetComponentType
onInit
protected void onInit()クラスからコピーされた説明:IntegrationObjectSupportサブクラスは、初期化ロジック用にこれを実装できます。- オーバーライド:
- クラス
MessageProducerSupportのonInit
doStart
protected void doStart()クラスからコピーされた説明:MessageProducerSupportデフォルトでは何も実行されません。ライフサイクル管理された動作が必要な場合、サブクラスはこれをオーバーライドできます。'lifecycleLock' によって保護されています。- オーバーライド:
- クラス
MessageProducerSupportのdoStart