Class ConfigurableMongoDbMessageStore

java.lang.Object
org.springframework.integration.store.AbstractBatchingMessageGroupStore
org.springframework.integration.store.AbstractMessageGroupStore
org.springframework.integration.mongodb.store.AbstractConfigurableMongoDbMessageStore
org.springframework.integration.mongodb.store.ConfigurableMongoDbMessageStore
All Implemented Interfaces:
Iterable<org.springframework.integration.store.MessageGroup>, org.springframework.beans.factory.Aware, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.integration.store.BasicMessageGroupStore, org.springframework.integration.store.MessageGroupStore, org.springframework.integration.store.MessageStore

public class ConfigurableMongoDbMessageStore extends AbstractConfigurableMongoDbMessageStore implements org.springframework.integration.store.MessageStore
An alternate MongoDB MessageStore and MessageGroupStore which allows the user to configure the instance of MongoTemplate. The mechanism of storing the messages/group of messages in the store is and is different from MongoDbMessageStore. Since the store uses serialization of the messages by default, all the headers, and the payload of the Message must implement Serializable interface
Since:
3.0
  • Field Details

  • Constructor Details

    • ConfigurableMongoDbMessageStore

      public ConfigurableMongoDbMessageStore(org.springframework.data.mongodb.core.MongoTemplate mongoTemplate)
    • ConfigurableMongoDbMessageStore

      public ConfigurableMongoDbMessageStore(org.springframework.data.mongodb.core.MongoTemplate mongoTemplate, String collectionName)
    • ConfigurableMongoDbMessageStore

      public ConfigurableMongoDbMessageStore(org.springframework.data.mongodb.MongoDatabaseFactory mongoDbFactory)
    • ConfigurableMongoDbMessageStore

      public ConfigurableMongoDbMessageStore(org.springframework.data.mongodb.MongoDatabaseFactory mongoDbFactory, org.springframework.data.mongodb.core.convert.MappingMongoConverter mappingMongoConverter)
    • ConfigurableMongoDbMessageStore

      public ConfigurableMongoDbMessageStore(org.springframework.data.mongodb.MongoDatabaseFactory mongoDbFactory, String collectionName)
    • ConfigurableMongoDbMessageStore

      public ConfigurableMongoDbMessageStore(org.springframework.data.mongodb.MongoDatabaseFactory mongoDbFactory, org.springframework.data.mongodb.core.convert.MappingMongoConverter mappingMongoConverter, String collectionName)
  • Method Details

    • addMessage

      public <T> org.springframework.messaging.Message<T> addMessage(org.springframework.messaging.Message<T> message)
      Specified by:
      addMessage in interface org.springframework.integration.store.MessageStore
    • removeMessage

      public org.springframework.messaging.Message<?> removeMessage(UUID id)
      Specified by:
      removeMessage in interface org.springframework.integration.store.MessageStore
    • getMessageCount

      public long getMessageCount()
      Specified by:
      getMessageCount in interface org.springframework.integration.store.MessageStore
    • getMessageGroup

      public org.springframework.integration.store.MessageGroup getMessageGroup(Object groupId)
      Specified by:
      getMessageGroup in interface org.springframework.integration.store.BasicMessageGroupStore
    • addMessageToGroup

      public org.springframework.integration.store.MessageGroup addMessageToGroup(Object groupId, org.springframework.messaging.Message<?> message)
      Specified by:
      addMessageToGroup in interface org.springframework.integration.store.BasicMessageGroupStore
      Overrides:
      addMessageToGroup in class org.springframework.integration.store.AbstractMessageGroupStore
    • doAddMessagesToGroup

      protected void doAddMessagesToGroup(Object groupId, org.springframework.messaging.Message<?>... messages)
      Overrides:
      doAddMessagesToGroup in class AbstractConfigurableMongoDbMessageStore
    • doRemoveMessagesFromGroup

      protected void doRemoveMessagesFromGroup(Object groupId, Collection<org.springframework.messaging.Message<?>> messages)
      Overrides:
      doRemoveMessagesFromGroup in class AbstractConfigurableMongoDbMessageStore
    • getMessageFromGroup

      @Nullable public org.springframework.messaging.Message<?> getMessageFromGroup(Object groupId, UUID messageId)
      Specified by:
      getMessageFromGroup in interface org.springframework.integration.store.MessageGroupStore
    • doRemoveMessageFromGroupById

      protected boolean doRemoveMessageFromGroupById(Object groupId, UUID messageId)
      Overrides:
      doRemoveMessageFromGroupById in class org.springframework.integration.store.AbstractMessageGroupStore
    • doPollMessageFromGroup

      protected org.springframework.messaging.Message<?> doPollMessageFromGroup(Object groupId)
      Specified by:
      doPollMessageFromGroup in class org.springframework.integration.store.AbstractMessageGroupStore
    • doSetLastReleasedSequenceNumberForGroup

      protected void doSetLastReleasedSequenceNumberForGroup(Object groupId, int sequenceNumber)
      Overrides:
      doSetLastReleasedSequenceNumberForGroup in class AbstractConfigurableMongoDbMessageStore
    • doSetGroupCondition

      protected void doSetGroupCondition(Object groupId, String condition)
      Overrides:
      doSetGroupCondition in class AbstractConfigurableMongoDbMessageStore
    • doCompleteGroup

      protected void doCompleteGroup(Object groupId)
      Overrides:
      doCompleteGroup in class AbstractConfigurableMongoDbMessageStore
    • iterator

      public Iterator<org.springframework.integration.store.MessageGroup> iterator()
      Specified by:
      iterator in interface Iterable<org.springframework.integration.store.MessageGroup>
      Specified by:
      iterator in interface org.springframework.integration.store.MessageGroupStore
      Overrides:
      iterator in class AbstractConfigurableMongoDbMessageStore
    • getMessageCountForAllMessageGroups

      @ManagedAttribute public int getMessageCountForAllMessageGroups()
      Specified by:
      getMessageCountForAllMessageGroups in interface org.springframework.integration.store.MessageGroupStore
      Overrides:
      getMessageCountForAllMessageGroups in class org.springframework.integration.store.AbstractMessageGroupStore
    • getMessageGroupCount

      @ManagedAttribute public int getMessageGroupCount()
      Specified by:
      getMessageGroupCount in interface org.springframework.integration.store.MessageGroupStore
      Overrides:
      getMessageGroupCount in class org.springframework.integration.store.AbstractMessageGroupStore
    • getOneMessageFromGroup

      public org.springframework.messaging.Message<?> getOneMessageFromGroup(Object groupId)
      Specified by:
      getOneMessageFromGroup in interface org.springframework.integration.store.MessageGroupStore
      Overrides:
      getOneMessageFromGroup in class AbstractConfigurableMongoDbMessageStore
    • getMessagesForGroup

      public Collection<org.springframework.messaging.Message<?>> getMessagesForGroup(Object groupId)
      Specified by:
      getMessagesForGroup in interface org.springframework.integration.store.MessageGroupStore
      Overrides:
      getMessagesForGroup in class AbstractConfigurableMongoDbMessageStore
    • streamMessagesForGroup

      public Stream<org.springframework.messaging.Message<?>> streamMessagesForGroup(Object groupId)
      Specified by:
      streamMessagesForGroup in interface org.springframework.integration.store.MessageGroupStore