クラス RedisStoreWritingMessageHandler
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.redis.outbound.RedisStoreWritingMessageHandler
- 実装されているすべてのインターフェース:
org.reactivestreams.Subscriber<Message<?>>、Aware、BeanFactoryAware、BeanNameAware、DisposableBean、InitializingBean、ApplicationContextAware、Ordered、ComponentSourceAware、ExpressionCapable、Orderable、IntegrationPattern、NamedComponent、IntegrationManagement、TrackableComponent、MessageHandler、reactor.core.CoreSubscriber<Message<?>>
キー
StringSE によって識別される Redis ストアにメッセージデータを書き込む MessageHandler の実装。RedisCollectionFactoryBean.CollectionType で識別されるコレクション型をサポートします。バッチ更新または単一アイテム入力をサポートします。「バッチ更新」とは、メッセージのペイロードがマップまたはコレクションである可能性があることを意味します。このようなペイロードを使用すると、そこからの個々のアイテムが対応する Redis ストアに追加されます。詳細については、handleMessageInternal(Message) を参照してください。代わりに、extractPayloadElements プロパティが false に設定されている場合(デフォルトは true)、そのようなペイロードを単一のアイテムとして永続化することを選択できます。- 導入:
- 2.2
- 作成者:
- Oleg Zhurakousky, Gary Russell, Mark Fisher, Artem Bilan, Trung Pham
ネストされたクラスの要約
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverridesフィールドのサマリー
クラス 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コンストラクターの概要
コンストラクターコンストラクター説明RedisStoreWritingMessageHandler(RedisConnectionFactory connectionFactory) 提供されたRedisConnectionFactoryを使用してインスタンスを構築します。RedisStoreWritingMessageHandler(RedisTemplate<StringSE, ?> redisTemplate) 提供されたRedisTemplateを使用してインスタンスを構築します。メソッドのサマリー
修飾子と型メソッド説明protected voidhandleMessageInternal(Message<?> message) メッセージからペイロードを抽出し、キー(式によって決定される場合があります)によって識別されるコレクションに格納します。protected voidonInit()サブクラスは、初期化ロジック用にこれを実装できます。voidsetCollectionType(RedisCollectionFactoryBean.CollectionType collectionType) RedisCollectionFactoryBean.CollectionTypeに従って、このハンドラーのコレクション型を設定します。voidsetExtractPayloadElements(boolean extractPayloadElements) ペイロードが「複数値」(つまり、コレクションまたはマップ)である場合、addAll/putAll セマンティクスを使用して保存する必要があることを示すフラグを設定します。voidRedis ストアのキーを指定します。voidsetKeyExpression(Expression keyExpression) Redis ストアのキーを決定するために使用される SpEL 式を指定します。voidsetKeyExpressionString(StringSE keyExpression) Redis ストアのキーを決定するために使用される SpEL 式を指定します。voidsetMapKeyExpression(Expression mapKeyExpression) マップおよびプロパティエントリのキーとして使用される式を設定します。voidsetMapKeyExpressionString(StringSE mapKeyExpression) マップおよびプロパティエントリのキーとして使用される式を設定します。voidsetZsetIncrementExpression(Expression zsetIncrementScoreExpression) ZSet コレクションの場合、ZADD コマンドの INCR フラグとして使用される式を設定します。voidsetZsetIncrementExpressionString(StringSE zsetIncrementScoreExpression) ZSet コレクションの場合、ZADD コマンドの INCR フラグとして使用される式を設定します。クラス org.springframework.integration.handler.AbstractMessageHandler から継承されたメソッド
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConventionクラス org.springframework.integration.handler.MessageHandlerSupport から継承されたメソッド
buildSendTimer, destroy, getIntegrationPatternType, 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.integration.support.context.NamedComponent から継承されたメソッド
getBeanName, getComponentName
コンストラクターの詳細
RedisStoreWritingMessageHandler
提供されたRedisTemplateを使用してインスタンスを構築します。RedisTemplate は完全に初期化する必要があります。- パラメーター:
redisTemplate- Redis テンプレート。
RedisStoreWritingMessageHandler
指定されたRedisConnectionFactoryを使用してインスタンスを構築します。extractPayloadElementsが true の場合はStringRedisTemplate、false の場合はキーとハッシュキーにStringRedisSerializerを、値とハッシュ値にJdkSerializationRedisSerializerを含むRedisTemplateが使用されます。- パラメーター:
connectionFactory- 接続ファクトリ。- 関連事項:
メソッドの詳細
setKey
Redis ストアのキーを指定します。式が必要な場合は、このメソッドの代わりにsetKeyExpression(Expression)を呼び出します(これらは相互に排他的です)。どちらの setter も呼び出されない場合、デフォルトの式は ' ヘッダーになります。RedisHeaders.KEY'。- パラメーター:
key- キー。- 関連事項:
setKeyExpressionString
Redis ストアのキーを決定するために使用される SpEL 式を指定します。式が不要な場合は、このメソッドの代わりにリテラル値をsetKey(String)メソッドに渡すことができます(これらは相互に排他的です)。どちらの setter も呼び出されない場合、デフォルトの式は ' ヘッダーになります。RedisHeaders.KEY'。- パラメーター:
keyExpression- キー式。- 導入:
- 5.0
- 関連事項:
setKeyExpression
Redis ストアのキーを決定するために使用される SpEL 式を指定します。式が不要な場合は、このメソッドの代わりにリテラル値をsetKey(String)メソッドに渡すことができます(これらは相互に排他的です)。どちらの setter も呼び出されない場合、デフォルトの式は ' ヘッダーになります。RedisHeaders.KEY'。- パラメーター:
keyExpression- キー式。- 関連事項:
setCollectionType
RedisCollectionFactoryBean.CollectionTypeに従って、このハンドラーのコレクション型を設定します。- パラメーター:
collectionType- コレクションの種類。
setExtractPayloadElements
public void setExtractPayloadElements(boolean extractPayloadElements) ペイロードが「複数値」(つまり、コレクションまたはマップ)である場合、addAll/putAll セマンティクスを使用して保存する必要があることを示すフラグを設定します。デフォルトは "true" です。"false" に設定すると、ペイロードはその型に関係なく、単一のエントリとして保存されます。ペイロードが「複数値」(つまり、コレクションまたはマップ)のインスタンスでない場合、ペイロードは常に単一のエントリとして保存されるため、この属性の値は意味がありません。- パラメーター:
extractPayloadElements- ペイロード要素を抽出する必要がある場合は true。
setMapKeyExpressionString
マップおよびプロパティエントリのキーとして使用される式を設定します。デフォルトは ' ヘッダーです。RedisHeaders.MAP_KEY'- パラメーター:
mapKeyExpression- マップキー式。- 導入:
- 5.0
setMapKeyExpression
マップおよびプロパティエントリのキーとして使用される式を設定します。デフォルトは ' ヘッダーです。RedisHeaders.MAP_KEY'- パラメーター:
mapKeyExpression- マップキー式。
setZsetIncrementExpressionString
ZSet コレクションの場合、ZADD コマンドの INCR フラグとして使用される式を設定します。デフォルトは ' ヘッダーです。RedisHeaders.ZSET_INCREMENT_SCORE'- パラメーター:
zsetIncrementScoreExpression- ZADDINCR フラグ式。- 導入:
- 5.0
setZsetIncrementExpression
ZSet コレクションの場合、ZADD コマンドの INCR フラグとして使用される式を設定します。デフォルトは ' ヘッダーです。RedisHeaders.ZSET_INCREMENT_SCORE'- パラメーター:
zsetIncrementScoreExpression- ZADDINCR フラグ式。- 導入:
- 5.0
getComponentType
- 次で指定:
- インターフェース
NamedComponentのgetComponentType - オーバーライド:
- クラス
MessageHandlerSupportのgetComponentType
onInit
protected void onInit()クラスからコピーされた説明:IntegrationObjectSupportサブクラスは、初期化ロジック用にこれを実装できます。- オーバーライド:
- クラス
IntegrationObjectSupportのonInit
handleMessageInternal
メッセージからペイロードを抽出し、キー(式によって決定される場合があります)によって識別されるコレクションに格納します。コレクションの型は、collectionTypeプロパティによって指定されます。デフォルトの CollectionType は LIST です。ペイロードを格納するためのルールは次のとおりです。
LIST/SET ペイロードの型が Collection で、
extractPayloadElementsが "true" (デフォルト)の場合、ペイロードは addAll() メソッドを使用して追加されます。extractPayloadElementsが "false" に設定されている場合、ペイロード型に関係なく、ペイロードは add() を使用して追加されます。ZSET LIST/SET で説明されているルールに加えて、ZSET では「スコア」情報を提供できます。ペイロードがマップでない場合は
RedisHeaders.ZSET_SCOREメッセージヘッダーを使用して、または各マップ「キー」が保存される値であり、対応する各マップ「値」が割り当てられたスコアであるペイロードとしてマップを送信することにより、スコアを提供できます。それ。extractPayloadElementsが "false" に設定されている場合、マップは単一のエントリとして保存されます。「スコア」を決定できない場合は、デフォルト値 (1) が使用されます。マップ / プロパティマップまたはプロパティベースのストアにアイテムを追加することもできます。ペイロード自体がマップまたはプロパティ型の場合、他のコレクション型について上記で説明したのと同じルールに従って、バッチまたは単一のアイテムとして保存できます。ペイロード自体をマップ / プロパティの値として保存する必要がある場合は、マップキーを mapKeyExpression (デフォルトの
RedisHeaders.MAP_KEYメッセージヘッダー) で指定する必要があります。- 次で指定:
- クラス
AbstractMessageHandlerのhandleMessageInternal