クラス MongoDbMessageStore
java.lang.ObjectSE
org.springframework.integration.store.AbstractBatchingMessageGroupStore
org.springframework.integration.store.AbstractMessageGroupStore
org.springframework.integration.mongodb.store.MongoDbMessageStore
- 実装されたすべてのインターフェース:
IterableSE<MessageGroup>
、Aware
、BeanClassLoaderAware
、InitializingBean
、ApplicationContextAware
、BasicMessageGroupStore
、MessageGroupStore
、MessageStore
public class MongoDbMessageStore
extends AbstractMessageGroupStore
implements MessageStore, BeanClassLoaderAware, ApplicationContextAware, InitializingBean
永続性を MongoDB に依存する
MessageStore
戦略と MessageGroupStore
戦略の両方の実装。- 導入:
- 2.1
- 作成者:
- Mark Fisher, Oleg Zhurakousky, Sean Brandt, Jodie StJohn, Gary Russell, Artem Bilan
ネストされたクラスのサマリー
インターフェース org.springframework.integration.store.MessageGroupStore から継承されたネストクラス / インターフェース
MessageGroupStore.MessageGroupCallback
フィールドのサマリー
フィールドクラス org.springframework.integration.store.AbstractMessageGroupStore から継承されたフィールド
logger
コンストラクターの概要
コンストラクターコンストラクター説明MongoDbMessageStore
(MongoDatabaseFactory mongoDbFactory) 提供されたMongoDatabaseFactory
とデフォルトのコレクション名を使用して MongoDbMessageStore を作成します。MongoDbMessageStore
(MongoDatabaseFactory mongoDbFactory, StringSE collectionName) 提供されたMongoDatabaseFactory
とコレクション名を使用して MongoDbMessageStore を作成します。メソッドのサマリー
修飾子と型メソッド説明void
addAllowedPatterns
(StringSE... patterns) 逆直列化が許可されているパッケージ / クラスのパターンを追加します。<T> Message
<T> addMessage
(Message<T> message) 提供されたメッセージを MessageStore に入れます。void
addMessagesToGroup
(ObjectSE groupId, Message<?>... messages) グループ ID に関連付けてメッセージを保存します。void
void
completeGroup
(ObjectSE groupId) この MessageGroup を完成させます。Message
<?> getMessage
(UUIDSE id) long
ストア内のメッセージ数を示すオプションの属性。int
すべてのグループにわたるストア内のメッセージの数を示すオプションの属性。Message
<?> getMessageFromGroup
(ObjectSE groupId, UUIDSE messageId) ID を使用してグループからMessage
を取得します。getMessageGroup
(ObjectSE groupId) このグループ ID でBasicMessageGroupStore.addMessageToGroup(Object, Message)
を使用して保存された、現在 MessageStore にあるすべてのメッセージを返します。int
メッセージグループの数を示すオプションの属性。CollectionSE
<Message<?>> getMessagesForGroup
(ObjectSE groupId) 指定されたグループ ID のメッセージを取得します。Message
<?> getOneMessageFromGroup
(ObjectSE groupId) MessageGroup
から 1 つのMessage
を返します。iterator()
int
messageGroupSize
(ObjectSE groupId) この MessageGroup のサイズを返します。Message
<?> pollMessageFromGroup
(ObjectSE groupId) このMessageGroup
からのメッセージのポーリング(実装でサポートされている場合は FIFO スタイル)と同時に、ポーリングされたMessage
も削除します。Message
<?> removeMessage
(UUIDSE id) 指定された ID のメッセージを MessageStore から削除し(存在する場合)、それを返します。boolean
removeMessageFromGroupById
(ObjectSE groupId, UUIDSE messageId) グループからメッセージを削除します。void
removeMessageGroup
(ObjectSE groupId) この ID のメッセージグループを削除します。void
removeMessagesFromGroup
(ObjectSE groupId, CollectionSE<Message<?>> messages) グループからのメッセージの削除を永続化します。void
setApplicationContext
(ApplicationContext applicationContext) void
setBeanClassLoader
(ClassLoaderSE classLoader) void
setCustomConverters
(ObjectSE... customConverters) MappingMongoConverter
で使用するコンバーターのセットを構成します。void
setGroupCondition
(ObjectSE groupId, StringSE condition) グループに条件文を追加します。void
setLastReleasedSequenceNumberForGroup
(ObjectSE groupId, int sequenceNumber) 最後にリリースされたメッセージのシーケンス番号を設定できます。streamMessagesForGroup
(ObjectSE groupId) 指定されたグループに保存されているメッセージのストリームを返します。クラス org.springframework.integration.store.AbstractMessageGroupStore から継承されたメソッド
addMessageToGroup, copy, expireMessageGroups, getGroupMetadata, getMessageGroupFactory, isTimeoutOnIdle, registerMessageGroupExpiryCallback, removeMessagesFromGroup, setExpiryCallbacks, setLazyLoadMessageGroups, setTimeoutOnIdle
クラス org.springframework.integration.store.AbstractBatchingMessageGroupStore から継承されたメソッド
getRemoveBatchSize, setMessageGroupFactory, setRemoveBatchSize
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース java.lang.IterableSE から継承されたメソッド
forEachSE, spliterator
フィールドの詳細
SEQUENCE_NAME
- 関連事項:
コンストラクターの詳細
MongoDbMessageStore
提供されたMongoDatabaseFactory
とデフォルトのコレクション名を使用して MongoDbMessageStore を作成します。- パラメーター:
mongoDbFactory
- mongodb ファクトリ。
MongoDbMessageStore
提供されたMongoDatabaseFactory
とコレクション名を使用して MongoDbMessageStore を作成します。- パラメーター:
mongoDbFactory
- mongodb ファクトリ。collectionName
- コレクション名。
メソッドの詳細
setBeanClassLoader
- 次で指定:
- インターフェース
BeanClassLoaderAware
のsetBeanClassLoader
setApplicationContext
- 次で指定:
- インターフェース
ApplicationContextAware
のsetApplicationContext
- 例外:
BeansException
addAllowedPatterns
逆直列化できるパッケージ / クラスのパターンを追加します。クラスは完全修飾することも、クラス名の最初または最後にワイルドカード "*" を使用することもできます。例:com.foo.*
、*.MyClass
。- パラメーター:
patterns
- パターン。- 導入:
- 5.4
setCustomConverters
MappingMongoConverter
で使用するコンバーターのセットを構成します。org.springframework.core.convert.converter.Converter
、org.springframework.core.convert.converter.ConverterFactory
、org.springframework.core.convert.converter.GenericConverter
またはorg.springframework.data.convert.ConverterBuilder.ConverterAware
のインスタンスである必要があります。- パラメーター:
customConverters
- 使用するコンバーター。- 導入:
- 5.1.6
afterPropertiesSet
public void afterPropertiesSet()- 次で指定:
- インターフェース
InitializingBean
のafterPropertiesSet
addMessage
インターフェースからコピーされた説明:MessageStore
提供されたメッセージを MessageStore に入れます。ストアはメッセージを内部で変更する必要がある場合があり、その場合、戻り値は入力と異なる場合があります。戻り値の ID は、MessageStore.getMessage(UUID)
およびMessageStore.removeMessage(UUID)
が正しく動作するようにインデックスとして使用されます。メッセージは不変であるため、同じメッセージを複数回入力しても何も起こりません。- 次で指定:
- インターフェース
MessageStore
のaddMessage
- 型パラメーター:
T
- ペイロード型。- パラメーター:
message
- メッセージ。- 戻り値:
- 保存されたメッセージ。
getMessage
- 次で指定:
- インターフェース
MessageStore
のgetMessage
- パラメーター:
id
- メッセージ識別子。- 戻り値:
- 指定された ID のメッセージ。MessageStore にその ID のメッセージが存在しない場合は null。
getMessageMetadata
インターフェースからコピーされた説明:MessageStore
- 次で指定:
- インターフェース
MessageStore
のgetMessageMetadata
- パラメーター:
id
- メッセージ識別子。- 戻り値:
- 指定された ID の MessageMetadata、またはその ID のメッセージが MessageStore に存在しないか、メッセージにメタデータがない場合(以前のバージョンのレガシーメッセージ)は null。
getMessageCount
インターフェースからコピーされた説明:MessageStore
ストア内のメッセージ数を示すオプションの属性。実装は例外をスローすることで応答を拒否する場合があります。- 次で指定:
- インターフェース
MessageStore
のgetMessageCount
- 戻り値:
- メッセージの数。
removeMessage
インターフェースからコピーされた説明:MessageStore
指定された ID を持つメッセージが MessageStore から削除されます (存在する場合)。その ID を持つメッセージがストアに存在しない場合は、null
が返されます。このメソッドがMessageGroupStore
に実装されている場合、このメッセージを保持するグループがない場合にのみ、メッセージはストアから削除されます。- 次で指定:
- インターフェース
MessageStore
のremoveMessage
- パラメーター:
id
- メッセージ識別子。- 戻り値:
- メッセージ (ある場合)。
getMessageGroup
インターフェースからコピーされた説明:BasicMessageGroupStore
このグループ ID でBasicMessageGroupStore.addMessageToGroup(Object, Message)
を使用して保存された、現在 MessageStore にあるすべてのメッセージを返します。- 次で指定:
- インターフェース
BasicMessageGroupStore
のgetMessageGroup
- パラメーター:
groupId
- グループ識別子。- 戻り値:
- メッセージのグループ。このキーにメッセージが存在しない場合は空です。
addMessagesToGroup
インターフェースからコピーされた説明:MessageGroupStore
グループ ID に関連付けてメッセージを保存します。これは、メッセージをグループ化するために使用できます。- 次で指定:
- インターフェース
MessageGroupStore
のaddMessagesToGroup
- パラメーター:
groupId
- メッセージを保存するグループ ID。messages
- 追加するメッセージ。
removeMessagesFromGroup
インターフェースからコピーされた説明:MessageGroupStore
グループからのメッセージの削除を永続化します。- 次で指定:
- インターフェース
MessageGroupStore
のremoveMessagesFromGroup
- パラメーター:
groupId
- メッセージを含むグループの groupId。messages
- 削除するメッセージ。
getMessageFromGroup
インターフェースからコピーされた説明:MessageGroupStore
ID を使用してグループからMessage
を取得します。メッセージがリクエストされたグループに属していない場合は、null
を返します。- 次で指定:
- インターフェース
MessageGroupStore
のgetMessageFromGroup
- パラメーター:
groupId
- メッセージを含むグループの groupId。messageId
- メッセージ ID。- 戻り値:
- リクエストされたグループに属している場合は、ID によるメッセージ。
removeMessageFromGroupById
インターフェースからコピーされた説明:MessageGroupStore
グループからメッセージを削除します。- 次で指定:
- インターフェース
MessageGroupStore
のremoveMessageFromGroupById
- パラメーター:
groupId
- メッセージを含むグループの groupId。messageId
- 削除するメッセージ ID。- 戻り値:
- メッセージが削除された場合は true。
removeMessageGroup
インターフェースからコピーされた説明:BasicMessageGroupStore
この ID のメッセージグループを削除します。- 次で指定:
- インターフェース
BasicMessageGroupStore
のremoveMessageGroup
- パラメーター:
groupId
- 削除するグループの ID。
iterator
- 次で指定:
- インターフェース
IterableSE<MessageGroup>
のiterator
- 次で指定:
- インターフェース
MessageGroupStore
のiterator
- 戻り値:
- 現在累積されている
MessageGroup
の反復子。
pollMessageFromGroup
インターフェースからコピーされた説明:BasicMessageGroupStore
このMessageGroup
からのメッセージのポーリング(実装でサポートされている場合は FIFO スタイル)と同時に、ポーリングされたMessage
も削除します。- 次で指定:
- インターフェース
BasicMessageGroupStore
のpollMessageFromGroup
- パラメーター:
groupId
- グループ識別子。- 戻り値:
- メッセージ。
messageGroupSize
インターフェースからコピーされた説明:BasicMessageGroupStore
この MessageGroup のサイズを返します。- 次で指定:
- インターフェース
BasicMessageGroupStore
のmessageGroupSize
- パラメーター:
groupId
- グループ識別子。- 戻り値:
- サイズ。
setGroupCondition
インターフェースからコピーされた説明:MessageGroupStore
グループに条件文を追加します。後でグループの意思決定に使用できます。相関ハンドラーのリリース戦略では、グループ内のすべてのメッセージを繰り返す代わりに、この条件を調べることができます。- 次で指定:
- インターフェース
MessageGroupStore
のsetGroupCondition
- パラメーター:
groupId
- グループ識別子。condition
- グループに保存する条件。
setLastReleasedSequenceNumberForGroup
インターフェースからコピーされた説明:MessageGroupStore
最後にリリースされたメッセージのシーケンス番号を設定できます。ユースケースの並べ替えに使用- 次で指定:
- インターフェース
MessageGroupStore
のsetLastReleasedSequenceNumberForGroup
- パラメーター:
groupId
- グループ識別子。sequenceNumber
- シーケンス番号。
completeGroup
インターフェースからコピーされた説明:MessageGroupStore
これで MessageGroup が完成します。MessageGroup の補完は一般に、このグループに対してそれ以上の変異操作の実行を許可すべきではないことを意味します。たとえば、グループから新しいメッセージを追加 / 削除する試みは許可されるべきではありません。- 次で指定:
- インターフェース
MessageGroupStore
のcompleteGroup
- パラメーター:
groupId
- グループ識別子。
getOneMessageFromGroup
インターフェースからコピーされた説明:MessageGroupStore
MessageGroup
から 1 つのMessage
を返します。- 次で指定:
- インターフェース
MessageGroupStore
のgetOneMessageFromGroup
- パラメーター:
groupId
- グループ識別子。- 戻り値:
Message
getMessagesForGroup
インターフェースからコピーされた説明:MessageGroupStore
指定されたグループ ID のメッセージを取得します。- 次で指定:
- インターフェース
MessageGroupStore
のgetMessagesForGroup
- パラメーター:
groupId
- メッセージを取得するグループ ID。- 戻り値:
- グループのメッセージ。
streamMessagesForGroup
インターフェースからコピーされた説明:MessageGroupStore
指定されたグループに保存されているメッセージのストリームを返します。永続的な実装は、完全に処理されたら閉じる必要があるストリームを返します(たとえば、try-with-resources 句を使用)。デフォルトでは、MessageGroupStore.getMessagesForGroup(Object)
の結果をストリーミングします。- 次で指定:
- インターフェース
MessageGroupStore
のstreamMessagesForGroup
- パラメーター:
groupId
- メッセージを取得するためのグループ ID。- 戻り値:
- このグループのメッセージの
Stream
SE。
getMessageCountForAllMessageGroups
インターフェースからコピーされた説明:MessageGroupStore
すべてのグループにわたるストア内のメッセージの数を示すオプションの属性。実装は、例外をスローすることによって応答を拒否する場合があります。- 次で指定:
- インターフェース
MessageGroupStore
のgetMessageCountForAllMessageGroups
- オーバーライド:
- クラス
AbstractMessageGroupStore
のgetMessageCountForAllMessageGroups
- 戻り値:
- メッセージの数
getMessageGroupCount
インターフェースからコピーされた説明:MessageGroupStore
メッセージグループの数を示すオプションの属性。実装は、例外をスローすることによって応答を拒否する場合があります。- 次で指定:
- インターフェース
MessageGroupStore
のgetMessageGroupCount
- オーバーライド:
- クラス
AbstractMessageGroupStore
のgetMessageGroupCount
- 戻り値:
- メッセージグループの数