public class JdbcMessageStore extends AbstractMessageGroupStore implements MessageStore
MessageStore の実装。必要なテーブルを作成するための SQL スクリプトは、org/springframework/integration/jdbc/schema-*.sql としてパッケージ化されています。ここで、* はターゲットデータベース型です。JDBC ベースのメッセージストアを使用して MessageChannel をバックアップする場合は、代わりにチャネル固有の JdbcChannelMessageStore の使用を検討してください。この実装は、相関コンポーネント(<aggregator> など)、<delayer> などを対象としています。
MessageGroupStore.MessageGroupCallback| 修飾子と型 | フィールドと説明 |
|---|---|
static StringSE | DEFAULT_TABLE_PREFIX テーブルプレフィックスプロパティのデフォルト値。 |
logger| コンストラクターと説明 |
|---|
JdbcMessageStore(DataSourceSE dataSource) すべての必須プロパティで MessageStore を作成します。 |
JdbcMessageStore(JdbcOperations jdbcOperations) すべての必須プロパティで MessageStore を作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | addAllowedPatterns(StringSE... patterns) 逆直列化が許可されているパッケージ / クラスのパターンを追加します。 |
<T> Message<T> | addMessage(Message<T> message) 提供されたメッセージを MessageStore に入れます。 |
void | addMessagesToGroup(ObjectSE groupId, Message<?>... messages) グループ ID に関連付けてメッセージを保存します。 |
void | completeGroup(ObjectSE groupId) この MessageGroup を完成させます。 |
protected Message<?> | doPollForMessage(StringSE groupIdKey) このメソッドは、DB への呼び出しを実行して、MessageGroup 内の最も古いメッセージを取得します。必要に応じて、このメソッドをオーバーライドします。 |
protected JdbcOperations | getJdbcOperations() このクラスがサブクラス化されている場合に JdbcOperations への参照を取得するために使用されます |
Message<?> | getMessage(UUIDSE id) |
long | getMessageCount() ストア内のメッセージ数を示すオプションの属性。 |
int | getMessageCountForAllMessageGroups() すべてのグループにわたるストア内のメッセージの数を示すオプションの属性。 |
MessageGroup | getMessageGroup(ObjectSE groupId) このグループ ID で BasicMessageGroupStore.addMessageToGroup(Object, Message) を使用して保存された、現在 MessageStore にあるすべてのメッセージを返します。 |
int | getMessageGroupCount() メッセージグループの数を示すオプションの属性。 |
MessageMetadata | getMessageMetadata(UUIDSE id) |
CollectionSE<Message<?>> | getMessagesForGroup(ObjectSE groupId) 指定されたグループ ID のメッセージを取得します。 |
Message<?> | getOneMessageFromGroup(ObjectSE groupId)MessageGroup から 1 つの Message を返します。 |
protected StringSE | getQuery(org.springframework.integration.jdbc.store.JdbcMessageStore.Query base) 入力のパターンを置き換えて、有効な SQL クエリを生成します。 |
IteratorSE<MessageGroup> | iterator() |
int | messageGroupSize(ObjectSE groupId) この MessageGroup のサイズを返します。 |
Message<?> | pollMessageFromGroup(ObjectSE groupId) この MessageGroup からのメッセージをポーリングし(実装でサポートされている場合は FIFO スタイルで)、ポーリングされた Message も削除します |
Message<?> | removeMessage(UUIDSE id) 指定された ID のメッセージを MessageStore から削除し(存在する場合)、それを返します。 |
void | removeMessageGroup(ObjectSE groupId) この ID のメッセージグループを削除します。 |
void | removeMessagesFromGroup(ObjectSE groupId, CollectionSE<Message<?>> messages) グループからのメッセージの削除を永続化します。 |
void | setDeserializer(Deserializer<? extends Message<?>> deserializer) バイト配列をメッセージにデシリアライズするためのコンバーター。 |
void | setLastReleasedSequenceNumberForGroup(ObjectSE groupId, int sequenceNumber) 最後にリリースされたメッセージのシーケンス番号を設定できます。 |
void | setLobHandler(LobHandler lobHandler)SQL クエリでラージオブジェクトを作成およびアンパックするために使用される LobHandler をオーバーライドします。 |
void | setRegion(StringSE region) このストアで保持されるすべてのメッセージの一意のグループ化識別子。 |
void | setSerializer(Serializer<? super Message<?>> serializer) メッセージをストレージ用のバイト配列に直列化するためのコンバーター。 |
void | setTablePrefix(StringSE tablePrefix) テーブルプレフィックスプロパティのパブリック setter。 |
addMessageToGroup, copy, expireMessageGroups, getGroupMetadata, getMessageGroupFactory, isTimeoutOnIdle, registerMessageGroupExpiryCallback, removeMessagesFromGroup, setExpiryCallbacks, setLazyLoadMessageGroups, setTimeoutOnIdlegetRemoveBatchSize, setMessageGroupFactory, setRemoveBatchSizecloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEforEachSE, spliteratorSEpublic JdbcMessageStore(DataSourceSE dataSource)
MessageStore を作成します。dataSource - DataSourceSEpublic JdbcMessageStore(JdbcOperations jdbcOperations)
MessageStore を作成します。jdbcOperations - JdbcOperationspublic void setTablePrefix(StringSE tablePrefix)
DEFAULT_TABLE_PREFIX です。tablePrefix - 設定する tablePrefixpublic void setRegion(StringSE region)
DEFAULT です。region - 設定する領域名 public void setLobHandler(LobHandler lobHandler)
LobHandler をオーバーライドします。ほとんどすべてのプラットフォームでデフォルトで問題ありませんが、一部の Oracle ドライバーにはネイティブ実装が必要です。lobHandler - LobHandlerpublic void setSerializer(Serializer<? super Message<?>> serializer)
serializer - 設定するシリアライザー public void setDeserializer(Deserializer<? extends Message<?>> deserializer)
deserializer - 設定するデシリアライザー public void addAllowedPatterns(StringSE... patterns)
com.foo.*、*.MyClass。patterns - パターン。public Message<?> removeMessage(UUIDSE id)
MessageStoreMessageStore の removeMessage id - メッセージ識別子。@ManagedAttribute public long getMessageCount()
MessageStoreMessageStore の getMessageCount public Message<?> getMessage(UUIDSE id)
MessageStore の getMessage id - メッセージ識別子。public MessageMetadata getMessageMetadata(UUIDSE id)
MessageStoreMessageStore の getMessageMetadata id - メッセージ識別子。public <T> Message<T> addMessage(Message<T> message)
MessageStoreMessageStore.getMessage(UUID) および MessageStore.removeMessage(UUID) が正しく動作するようにインデックスとして使用されます。メッセージは不変であるため、同じメッセージを複数回入力しても何も起こりません。MessageStore の addMessage T - ペイロード型。message - メッセージ。public void addMessagesToGroup(ObjectSE groupId, Message<?>... messages)
MessageGroupStoreMessageGroupStore の addMessagesToGroup groupId - メッセージを保存するグループ ID。messages - 追加するメッセージ。@ManagedAttribute public int getMessageGroupCount()
MessageGroupStoreMessageGroupStore の getMessageGroupCount AbstractMessageGroupStore の getMessageGroupCount @ManagedAttribute public int getMessageCountForAllMessageGroups()
MessageGroupStoreMessageGroupStore の getMessageCountForAllMessageGroups AbstractMessageGroupStore の getMessageCountForAllMessageGroups @ManagedAttribute public int messageGroupSize(ObjectSE groupId)
BasicMessageGroupStoreBasicMessageGroupStore の messageGroupSize groupId - グループ識別子。public MessageGroup getMessageGroup(ObjectSE groupId)
BasicMessageGroupStoreBasicMessageGroupStore.addMessageToGroup(Object, Message) を使用して保存された、現在 MessageStore にあるすべてのメッセージを返します。BasicMessageGroupStore の getMessageGroup groupId - グループ識別子。public void removeMessagesFromGroup(ObjectSE groupId, CollectionSE<Message<?>> messages)
MessageGroupStoreMessageGroupStore の removeMessagesFromGroup groupId - メッセージを含むグループの groupId。messages - 削除するメッセージ。public void removeMessageGroup(ObjectSE groupId)
BasicMessageGroupStoreBasicMessageGroupStore の removeMessageGroup groupId - 削除するグループの ID。public void completeGroup(ObjectSE groupId)
MessageGroupStoreMessageGroupStore の completeGroup groupId - グループ識別子。public void setLastReleasedSequenceNumberForGroup(ObjectSE groupId, int sequenceNumber)
MessageGroupStoreMessageGroupStore の setLastReleasedSequenceNumberForGroup groupId - グループ識別子。sequenceNumber - シーケンス番号。public Message<?> pollMessageFromGroup(ObjectSE groupId)
BasicMessageGroupStoreMessageGroup からのメッセージをポーリングし(実装でサポートされている場合は FIFO スタイルで)、ポーリングされた Message も削除します BasicMessageGroupStore の pollMessageFromGroup groupId - グループ識別子。public Message<?> getOneMessageFromGroup(ObjectSE groupId)
MessageGroupStoreMessageGroup から 1 つの Message を返します。MessageGroupStore の getOneMessageFromGroup groupId - グループ識別子。Messagepublic CollectionSE<Message<?>> getMessagesForGroup(ObjectSE groupId)
MessageGroupStoreMessageGroupStore の getMessagesForGroup groupId - メッセージを取得するグループ ID。public IteratorSE<MessageGroup> iterator()
IterableSE<MessageGroup> の iteratorSE MessageGroupStore の iterator MessageGroup の反復子。protected StringSE getQuery(org.springframework.integration.jdbc.store.JdbcMessageStore.Query base)
base - 変換する SQL クエリ protected JdbcOperations getJdbcOperations()