クラス AbstractMessageGroupStore

java.lang.ObjectSE
org.springframework.integration.store.AbstractBatchingMessageGroupStore
org.springframework.integration.store.AbstractMessageGroupStore
実装されているすべてのインターフェース:
IterableSE<MessageGroup>BasicMessageGroupStoreMessageGroupStore
既知の直属サブクラス
AbstractConfigurableMongoDbMessageStoreAbstractKeyValueMessageStoreJdbcMessageStoreMongoDbMessageStoreSimpleMessageStore

@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
  • フィールドの詳細

  • コンストラクターの詳細

    • AbstractMessageGroupStore

      protected AbstractMessageGroupStore()
    • AbstractMessageGroupStore

      protected AbstractMessageGroupStore(boolean lazyLoadMessageGroups)
  • メソッドの詳細

    • getMessageGroupFactory

      protected MessageGroupFactory getMessageGroupFactory()
      オーバーライド:
      クラス AbstractBatchingMessageGroupStoregetMessageGroupFactory 
    • 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

      public final void setLockRegistry(LockRegistry lockRegistry)
      アトミック操作を確実にするために LockRegistry の型を指定します
      パラメーター:
      lockRegistry - lockRegistryType
      導入:
      6.5
    • getLockRegistry

      protected LockRegistry getLockRegistry()
    • registerMessageGroupExpiryCallback

      public void registerMessageGroupExpiryCallback(MessageGroupStore.MessageGroupCallback callback)
      インターフェースからコピーされた説明: MessageGroupStore
      メッセージグループが MessageGroupStore.expireMessageGroups(long) を介して期限切れになったときのコールバックを登録します。
      次で指定:
      インターフェース MessageGroupStoreregisterMessageGroupExpiryCallback 
      パラメーター:
      callback - メッセージグループがクリーンアップされたときに実行するコールバック。
    • expireMessageGroups

      @ManagedOperation public int expireMessageGroups(long timeout)
      インターフェースからコピーされた説明: MessageGroupStore
      期限切れのグループ(タイムスタンプが現在の時刻から指定されたしきい値を差し引いたものより古い)をすべて抽出し、登録されている各コールバックを順番に呼び出します。例: タイムアウト 100 で呼び出して、100 ミリ秒以上前に作成され、まだ完了していないすべてのグループを期限切れにします。すべてのメッセージグループを期限切れにするには、タイムアウト 0(または安全のために負の値)を使用します。
      次で指定:
      インターフェース MessageGroupStoreexpireMessageGroups 
      パラメーター:
      timeout - 使用するタイムアウトしきい値
      戻り値:
      期限切れのメッセージグループの数
      関連事項:
    • copy

      protected MessageGroup copy(MessageGroup group)
      expireMessageGroups によって使用されます。グループが現在から期限切れになるまでの間に変更されたかどうかを適切に検出できるように、リーパーの実行時にグループのスナップショットを返す必要があります。永続ストアには必要ないため、デフォルトの動作ではグループのみを返します。
      パラメーター:
      group - グループ。
      戻り値:
      グループ、またはコピー。
      導入:
      4.0.1
    • getMessageCountForAllMessageGroups

      @ManagedAttribute public int getMessageCountForAllMessageGroups()
      インターフェースからコピーされた説明: MessageGroupStore
      すべてのグループにわたるストア内のメッセージの数を示すオプションの属性。実装は、例外をスローすることによって応答を拒否する場合があります。
      次で指定:
      インターフェース MessageGroupStoregetMessageCountForAllMessageGroups 
      戻り値:
      メッセージの数
    • getMessageGroupCount

      @ManagedAttribute public int getMessageGroupCount()
      インターフェースからコピーされた説明: MessageGroupStore
      メッセージグループの数を示すオプションの属性。実装は、例外をスローすることによって応答を拒否する場合があります。
      次で指定:
      インターフェース MessageGroupStoregetMessageGroupCount 
      戻り値:
      メッセージグループの数
    • getGroupMetadata

      public MessageGroupMetadata getGroupMetadata(ObjectSE groupId)
      インターフェースからコピーされた説明: MessageGroupStore
      メッセージをフェッチせずにグループメタデータを取得します。他のすべてのグループプロパティを提供する必要があります。最初のメッセージの ID を含めることができます。
      次で指定:
      インターフェース MessageGroupStoregetGroupMetadata 
      パラメーター:
      groupId - グループ ID。
      戻り値:
      メタデータ。
    • removeMessagesFromGroup

      public void removeMessagesFromGroup(ObjectSE key, Message<?>... messages)
      インターフェースからコピーされた説明: MessageGroupStore
      グループからのメッセージの削除を永続化します。
      次で指定:
      インターフェース MessageGroupStoreremoveMessagesFromGroup 
      パラメーター:
      key - メッセージを含むグループの groupId。
      messages - 削除するメッセージ。
    • removeMessagesFromGroup

      public void removeMessagesFromGroup(ObjectSE key, CollectionSE<Message<?>> messages)
      インターフェースからコピーされた説明: MessageGroupStore
      グループからのメッセージの削除を永続化します。
      次で指定:
      インターフェース MessageGroupStoreremoveMessagesFromGroup 
      パラメーター:
      key - メッセージを含むグループの groupId。
      messages - 削除するメッセージ。
    • doRemoveMessagesFromGroup

      protected abstract void doRemoveMessagesFromGroup(ObjectSE key, CollectionSE<Message<?>> messages)
    • addMessagesToGroup

      public void addMessagesToGroup(ObjectSE groupId, Message<?>... messages)
      インターフェースからコピーされた説明: MessageGroupStore
      グループ ID に関連付けてメッセージを保存します。これは、メッセージをグループ化するために使用できます。
      次で指定:
      インターフェース MessageGroupStoreaddMessagesToGroup 
      パラメーター:
      groupId - メッセージを保存するグループ ID。
      messages - 追加するメッセージ。
    • doAddMessagesToGroup

      protected abstract void doAddMessagesToGroup(ObjectSE groupId, Message<?>... messages)
    • addMessageToGroup

      public MessageGroup addMessageToGroup(ObjectSE groupId, Message<?> message)
      インターフェースからコピーされた説明: BasicMessageGroupStore
      グループ ID に関連付けてメッセージを保存します。これは、メッセージをグループ化するために使用できます。
      次で指定:
      インターフェース BasicMessageGroupStoreaddMessageToGroup 
      パラメーター:
      groupId - メッセージを保存するグループ ID。
      message - メッセージ。
      戻り値:
      メッセージグループ。
    • removeMessageGroup

      public void removeMessageGroup(ObjectSE groupId)
      インターフェースからコピーされた説明: BasicMessageGroupStore
      この ID のメッセージグループを削除します。
      次で指定:
      インターフェース BasicMessageGroupStoreremoveMessageGroup 
      パラメーター:
      groupId - 削除するグループの ID。
    • doRemoveMessageGroup

      protected abstract void doRemoveMessageGroup(ObjectSE groupId)
    • removeMessageFromGroupById

      public boolean removeMessageFromGroupById(ObjectSE groupId, UUIDSE messageId)
      インターフェースからコピーされた説明: MessageGroupStore
      グループからメッセージを削除します。
      次で指定:
      インターフェース MessageGroupStoreremoveMessageFromGroupById 
      パラメーター:
      groupId - メッセージを含むグループの groupId。
      messageId - 削除するメッセージ ID。
      戻り値:
      メッセージが削除された場合は true。
    • doRemoveMessageFromGroupById

      protected boolean doRemoveMessageFromGroupById(ObjectSE groupId, UUIDSE messageId)
    • setLastReleasedSequenceNumberForGroup

      public void setLastReleasedSequenceNumberForGroup(ObjectSE groupId, int sequenceNumber)
      インターフェースからコピーされた説明: MessageGroupStore
      最後にリリースされたメッセージのシーケンス番号を設定できます。ユースケースの並べ替えに使用
      次で指定:
      インターフェース MessageGroupStoresetLastReleasedSequenceNumberForGroup 
      パラメーター:
      groupId - グループ識別子。
      sequenceNumber - シーケンス番号。
    • doSetLastReleasedSequenceNumberForGroup

      protected abstract void doSetLastReleasedSequenceNumberForGroup(ObjectSE groupId, int sequenceNumber)
    • completeGroup

      public void completeGroup(ObjectSE groupId)
      インターフェースからコピーされた説明: MessageGroupStore
      これで MessageGroup が完成します。MessageGroup の補完は一般に、このグループに対してそれ以上の変異操作の実行を許可すべきではないことを意味します。たとえば、グループから新しいメッセージを追加 / 削除する試みは許可されるべきではありません。
      次で指定:
      インターフェース MessageGroupStorecompleteGroup 
      パラメーター:
      groupId - グループ識別子。
    • doCompleteGroup

      protected abstract void doCompleteGroup(ObjectSE groupId)
    • setGroupCondition

      public void setGroupCondition(ObjectSE groupId, StringSE condition)
      インターフェースからコピーされた説明: MessageGroupStore
      グループに条件文を追加します。後でグループの意思決定に使用できます。相関ハンドラーのリリース戦略では、グループ内のすべてのメッセージを繰り返す代わりに、この条件を調べることができます。
      次で指定:
      インターフェース MessageGroupStoresetGroupCondition 
      パラメーター:
      groupId - グループ識別子。
      condition - グループに保存する条件。
    • doSetGroupCondition

      protected abstract void doSetGroupCondition(ObjectSE groupId, StringSE condition)
    • pollMessageFromGroup

      public Message<?> pollMessageFromGroup(ObjectSE groupId)
      インターフェースからコピーされた説明: BasicMessageGroupStore
      この MessageGroup からのメッセージのポーリング(実装でサポートされている場合は FIFO スタイル)と同時に、ポーリングされた Message も削除します。
      次で指定:
      インターフェース BasicMessageGroupStorepollMessageFromGroup 
      パラメーター:
      groupId - グループ識別子。
      戻り値:
      メッセージ。
    • doPollMessageFromGroup

      protected abstract Message<?> doPollMessageFromGroup(ObjectSE groupId)
    • 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)