クラス AbstractMessageGroupStore
java.lang.ObjectSE
org.springframework.integration.store.AbstractBatchingMessageGroupStore
org.springframework.integration.store.AbstractMessageGroupStore
- 実装されているすべてのインターフェース:
IterableSE<MessageGroup>
、BasicMessageGroupStore
、MessageGroupStore
- 既知の直属サブクラス
AbstractConfigurableMongoDbMessageStore
、AbstractKeyValueMessageStore
、JdbcMessageStore
、MongoDbMessageStore
、SimpleMessageStore
@ManagedResource
public abstract class AbstractMessageGroupStore
extends AbstractBatchingMessageGroupStore
implements MessageGroupStore, IterableSE<MessageGroup>
- 導入:
- 2.0
- 作成者:
- Dave Syer, Oleg Zhurakousky, Gary Russell, Artem Bilan, Christian Tzolov, Youbin Wu
ネストされたクラスの要約
インターフェース org.springframework.integration.store.MessageGroupStore から継承されたネストクラス / インターフェース
MessageGroupStore.MessageGroupCallback
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
addMessagesToGroup
(ObjectSE groupId, Message<?>... messages) グループ ID に関連付けてメッセージを保存します。addMessageToGroup
(ObjectSE groupId, Message<?> message) グループ ID に関連付けてメッセージを保存します。void
completeGroup
(ObjectSE groupId) この MessageGroup を完成させます。protected MessageGroup
copy
(MessageGroup group) expireMessageGroups で使用されます。protected abstract void
doAddMessagesToGroup
(ObjectSE groupId, Message<?>... messages) protected abstract void
doCompleteGroup
(ObjectSE groupId) protected abstract Message
<?> doPollMessageFromGroup
(ObjectSE groupId) protected boolean
doRemoveMessageFromGroupById
(ObjectSE groupId, UUIDSE messageId) protected abstract void
doRemoveMessageGroup
(ObjectSE groupId) protected abstract void
doRemoveMessagesFromGroup
(ObjectSE key, CollectionSE<Message<?>> messages) protected abstract void
doSetGroupCondition
(ObjectSE groupId, StringSE condition) protected abstract void
doSetLastReleasedSequenceNumberForGroup
(ObjectSE groupId, int sequenceNumber) protected <T, E extends RuntimeExceptionSE>
TexecuteLocked
(ObjectSE groupId, CheckedCallable<T, E> runnable) protected <E extends RuntimeExceptionSE>
voidexecuteLocked
(ObjectSE groupId, CheckedRunnable<E> runnable) int
expireMessageGroups
(long timeout) 期限切れのグループ(タイムスタンプが現在の時刻から指定されたしきい値を差し引いたものより古い)をすべて抽出し、登録されている各コールバックを順番に呼び出します。getGroupMetadata
(ObjectSE groupId) メッセージをフェッチせずにグループメタデータを取得します。他のすべてのグループプロパティを提供する必要があります。最初のメッセージの ID を含めることができます。protected LockRegistry
int
すべてのグループにわたるストア内のメッセージの数を示すオプションの属性。int
メッセージグループの数を示すオプションの属性。protected MessageGroupFactory
boolean
Message
<?> pollMessageFromGroup
(ObjectSE groupId) このMessageGroup
からのメッセージのポーリング(実装でサポートされている場合は FIFO スタイル)と同時に、ポーリングされたMessage
も削除します。void
メッセージグループがMessageGroupStore.expireMessageGroups(long)
を介して期限切れになったときのコールバックを登録します。boolean
removeMessageFromGroupById
(ObjectSE groupId, UUIDSE messageId) グループからメッセージを削除します。void
removeMessageGroup
(ObjectSE groupId) この ID のメッセージグループを削除します。void
removeMessagesFromGroup
(ObjectSE key, CollectionSE<Message<?>> messages) グループからのメッセージの削除を永続化します。void
removeMessagesFromGroup
(ObjectSE key, Message<?>... messages) グループからのメッセージの削除を永続化します。void
setExpiryCallbacks
(CollectionSE<MessageGroupStore.MessageGroupCallback> expiryCallbacks) メッセージストアでの有効期限コールバックの便利なインジェクションポイント。void
setGroupCondition
(ObjectSE groupId, StringSE condition) グループに条件文を追加します。void
setLastReleasedSequenceNumberForGroup
(ObjectSE groupId, int sequenceNumber) 最後にリリースされたメッセージのシーケンス番号を設定できます。void
setLazyLoadMessageGroups
(boolean lazyLoadMessageGroups) BasicMessageGroupStore.getMessageGroup(Object)
の結果をPersistentMessageGroup
にラップするかどうかを指定します。グループのメッセージの遅延ロードプロキシデフォルトはtrue
です。final void
setLockRegistry
(LockRegistry lockRegistry) アトミック操作を確実にするためにLockRegistry
の型を指定しますvoid
setTimeoutOnIdle
(boolean timeoutOnIdle) タイムアウト計算のルールを上書きできます。クラス org.springframework.integration.store.AbstractBatchingMessageGroupStore から継承されたメソッド
getRemoveBatchSize, setMessageGroupFactory, setRemoveBatchSize
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.integration.store.BasicMessageGroupStore から継承されたメソッド
getMessageGroup, messageGroupSize
インターフェース java.lang.IterableSE から継承されたメソッド
forEachSE, iterator, spliterator
インターフェース org.springframework.integration.store.MessageGroupStore から継承されたメソッド
getMessageFromGroup, getMessagesForGroup, getOneMessageFromGroup, iterator, streamMessagesForGroup
フィールドの詳細
INTERRUPTED_WHILE_OBTAINING_LOCK
- 関連事項:
GROUP_ID_MUST_NOT_BE_NULL
- 関連事項:
logger
コンストラクターの詳細
AbstractMessageGroupStore
protected AbstractMessageGroupStore()AbstractMessageGroupStore
protected AbstractMessageGroupStore(boolean lazyLoadMessageGroups)
メソッドの詳細
getMessageGroupFactory
- オーバーライド:
- クラス
AbstractBatchingMessageGroupStore
のgetMessageGroupFactory
setExpiryCallbacks
public void setExpiryCallbacks(CollectionSE<MessageGroupStore.MessageGroupCallback> expiryCallbacks) メッセージストアでの有効期限コールバックの便利なインジェクションポイント。提供される各コールバックは、registerMessageGroupExpiryCallback(MessageGroupCallback)
を使用してストアに登録されるだけです。- パラメーター:
expiryCallbacks
- 追加する有効期限コールバック
isTimeoutOnIdle
public boolean isTimeoutOnIdle()setTimeoutOnIdle
public void setTimeoutOnIdle(boolean timeoutOnIdle) タイムアウト計算のルールを上書きできます。通常のタイムアウトは、MessageGroup
が作成された時間に基づいています。MessageGroup
がアイドリングしていた時間に基づいてタイムアウトを設定する場合(たとえば、最後の更新から非アクティブ)、"true" を指定してこのメソッドを呼び出します。デフォルトは "false" です。- パラメーター:
timeoutOnIdle
- ブール値。
setLazyLoadMessageGroups
public void setLazyLoadMessageGroups(boolean lazyLoadMessageGroups) BasicMessageGroupStore.getMessageGroup(Object)
の結果をPersistentMessageGroup
にラップするかどうかを指定します。グループのメッセージの遅延ロードプロキシデフォルトはtrue
です。ターゲットロジックは
SimpleMessageGroupFactory.GroupType.PERSISTENT
に基づいています。- パラメーター:
lazyLoadMessageGroups
- 使用するboolean
フラグ。- 導入:
- 4.3
setLockRegistry
アトミック操作を確実にするためにLockRegistry
の型を指定します- パラメーター:
lockRegistry
- lockRegistryType- 導入:
- 6.5
getLockRegistry
registerMessageGroupExpiryCallback
インターフェースからコピーされた説明:MessageGroupStore
メッセージグループがMessageGroupStore.expireMessageGroups(long)
を介して期限切れになったときのコールバックを登録します。- 次で指定:
- インターフェース
MessageGroupStore
のregisterMessageGroupExpiryCallback
- パラメーター:
callback
- メッセージグループがクリーンアップされたときに実行するコールバック。
expireMessageGroups
インターフェースからコピーされた説明:MessageGroupStore
期限切れのグループ(タイムスタンプが現在の時刻から指定されたしきい値を差し引いたものより古い)をすべて抽出し、登録されている各コールバックを順番に呼び出します。例: タイムアウト 100 で呼び出して、100 ミリ秒以上前に作成され、まだ完了していないすべてのグループを期限切れにします。すべてのメッセージグループを期限切れにするには、タイムアウト 0(または安全のために負の値)を使用します。- 次で指定:
- インターフェース
MessageGroupStore
のexpireMessageGroups
- パラメーター:
timeout
- 使用するタイムアウトしきい値- 戻り値:
- 期限切れのメッセージグループの数
- 関連事項:
copy
expireMessageGroups によって使用されます。グループが現在から期限切れになるまでの間に変更されたかどうかを適切に検出できるように、リーパーの実行時にグループのスナップショットを返す必要があります。永続ストアには必要ないため、デフォルトの動作ではグループのみを返します。- パラメーター:
group
- グループ。- 戻り値:
- グループ、またはコピー。
- 導入:
- 4.0.1
getMessageCountForAllMessageGroups
インターフェースからコピーされた説明:MessageGroupStore
すべてのグループにわたるストア内のメッセージの数を示すオプションの属性。実装は、例外をスローすることによって応答を拒否する場合があります。- 次で指定:
- インターフェース
MessageGroupStore
のgetMessageCountForAllMessageGroups
- 戻り値:
- メッセージの数
getMessageGroupCount
インターフェースからコピーされた説明:MessageGroupStore
メッセージグループの数を示すオプションの属性。実装は、例外をスローすることによって応答を拒否する場合があります。- 次で指定:
- インターフェース
MessageGroupStore
のgetMessageGroupCount
- 戻り値:
- メッセージグループの数
getGroupMetadata
インターフェースからコピーされた説明:MessageGroupStore
メッセージをフェッチせずにグループメタデータを取得します。他のすべてのグループプロパティを提供する必要があります。最初のメッセージの ID を含めることができます。- 次で指定:
- インターフェース
MessageGroupStore
のgetGroupMetadata
- パラメーター:
groupId
- グループ ID。- 戻り値:
- メタデータ。
removeMessagesFromGroup
インターフェースからコピーされた説明:MessageGroupStore
グループからのメッセージの削除を永続化します。- 次で指定:
- インターフェース
MessageGroupStore
のremoveMessagesFromGroup
- パラメーター:
key
- メッセージを含むグループの groupId。messages
- 削除するメッセージ。
removeMessagesFromGroup
インターフェースからコピーされた説明:MessageGroupStore
グループからのメッセージの削除を永続化します。- 次で指定:
- インターフェース
MessageGroupStore
のremoveMessagesFromGroup
- パラメーター:
key
- メッセージを含むグループの groupId。messages
- 削除するメッセージ。
doRemoveMessagesFromGroup
addMessagesToGroup
インターフェースからコピーされた説明:MessageGroupStore
グループ ID に関連付けてメッセージを保存します。これは、メッセージをグループ化するために使用できます。- 次で指定:
- インターフェース
MessageGroupStore
のaddMessagesToGroup
- パラメーター:
groupId
- メッセージを保存するグループ ID。messages
- 追加するメッセージ。
doAddMessagesToGroup
addMessageToGroup
インターフェースからコピーされた説明:BasicMessageGroupStore
グループ ID に関連付けてメッセージを保存します。これは、メッセージをグループ化するために使用できます。- 次で指定:
- インターフェース
BasicMessageGroupStore
のaddMessageToGroup
- パラメーター:
groupId
- メッセージを保存するグループ ID。message
- メッセージ。- 戻り値:
- メッセージグループ。
removeMessageGroup
インターフェースからコピーされた説明:BasicMessageGroupStore
この ID のメッセージグループを削除します。- 次で指定:
- インターフェース
BasicMessageGroupStore
のremoveMessageGroup
- パラメーター:
groupId
- 削除するグループの ID。
doRemoveMessageGroup
removeMessageFromGroupById
インターフェースからコピーされた説明:MessageGroupStore
グループからメッセージを削除します。- 次で指定:
- インターフェース
MessageGroupStore
のremoveMessageFromGroupById
- パラメーター:
groupId
- メッセージを含むグループの groupId。messageId
- 削除するメッセージ ID。- 戻り値:
- メッセージが削除された場合は true。
doRemoveMessageFromGroupById
setLastReleasedSequenceNumberForGroup
インターフェースからコピーされた説明:MessageGroupStore
最後にリリースされたメッセージのシーケンス番号を設定できます。ユースケースの並べ替えに使用- 次で指定:
- インターフェース
MessageGroupStore
のsetLastReleasedSequenceNumberForGroup
- パラメーター:
groupId
- グループ識別子。sequenceNumber
- シーケンス番号。
doSetLastReleasedSequenceNumberForGroup
protected abstract void doSetLastReleasedSequenceNumberForGroup(ObjectSE groupId, int sequenceNumber) completeGroup
インターフェースからコピーされた説明:MessageGroupStore
これで MessageGroup が完成します。MessageGroup の補完は一般に、このグループに対してそれ以上の変異操作の実行を許可すべきではないことを意味します。たとえば、グループから新しいメッセージを追加 / 削除する試みは許可されるべきではありません。- 次で指定:
- インターフェース
MessageGroupStore
のcompleteGroup
- パラメーター:
groupId
- グループ識別子。
doCompleteGroup
setGroupCondition
インターフェースからコピーされた説明:MessageGroupStore
グループに条件文を追加します。後でグループの意思決定に使用できます。相関ハンドラーのリリース戦略では、グループ内のすべてのメッセージを繰り返す代わりに、この条件を調べることができます。- 次で指定:
- インターフェース
MessageGroupStore
のsetGroupCondition
- パラメーター:
groupId
- グループ識別子。condition
- グループに保存する条件。
doSetGroupCondition
pollMessageFromGroup
インターフェースからコピーされた説明:BasicMessageGroupStore
このMessageGroup
からのメッセージのポーリング(実装でサポートされている場合は FIFO スタイル)と同時に、ポーリングされたMessage
も削除します。- 次で指定:
- インターフェース
BasicMessageGroupStore
のpollMessageFromGroup
- パラメーター:
groupId
- グループ識別子。- 戻り値:
- メッセージ。
doPollMessageFromGroup
executeLocked
protected <T, E extends RuntimeExceptionSE> T executeLocked(ObjectSE groupId, CheckedCallable<T, E> runnable) executeLocked
protected <E extends RuntimeExceptionSE> void executeLocked(ObjectSE groupId, CheckedRunnable<E> runnable)