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:
java.lang.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, java.lang.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, java.lang.String collectionName)
    • ConfigurableMongoDbMessageStore

      public ConfigurableMongoDbMessageStore​(org.springframework.data.mongodb.MongoDatabaseFactory mongoDbFactory, org.springframework.data.mongodb.core.convert.MappingMongoConverter mappingMongoConverter, java.lang.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​(java.util.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​(java.lang.Object groupId)
      Specified by:
      getMessageGroup in interface org.springframework.integration.store.BasicMessageGroupStore
    • addMessageToGroup

      public org.springframework.integration.store.MessageGroup addMessageToGroup​(java.lang.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
    • addMessagesToGroup

      public void addMessagesToGroup​(java.lang.Object groupId, org.springframework.messaging.Message<?>... messages)
      Specified by:
      addMessagesToGroup in interface org.springframework.integration.store.MessageGroupStore
      Overrides:
      addMessagesToGroup in class AbstractConfigurableMongoDbMessageStore
    • removeMessagesFromGroup

      public void removeMessagesFromGroup​(java.lang.Object groupId, java.util.Collection<org.springframework.messaging.Message<?>> messages)
      Specified by:
      removeMessagesFromGroup in interface org.springframework.integration.store.MessageGroupStore
      Overrides:
      removeMessagesFromGroup in class AbstractConfigurableMongoDbMessageStore
    • pollMessageFromGroup

      public org.springframework.messaging.Message<?> pollMessageFromGroup​(java.lang.Object groupId)
      Specified by:
      pollMessageFromGroup in interface org.springframework.integration.store.BasicMessageGroupStore
    • setLastReleasedSequenceNumberForGroup

      public void setLastReleasedSequenceNumberForGroup​(java.lang.Object groupId, int sequenceNumber)
      Specified by:
      setLastReleasedSequenceNumberForGroup in interface org.springframework.integration.store.MessageGroupStore
      Overrides:
      setLastReleasedSequenceNumberForGroup in class AbstractConfigurableMongoDbMessageStore
    • completeGroup

      public void completeGroup​(java.lang.Object groupId)
      Specified by:
      completeGroup in interface org.springframework.integration.store.MessageGroupStore
      Overrides:
      completeGroup in class AbstractConfigurableMongoDbMessageStore
    • iterator

      public java.util.Iterator<org.springframework.integration.store.MessageGroup> iterator()
      Specified by:
      iterator in interface java.lang.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​(java.lang.Object groupId)
      Specified by:
      getOneMessageFromGroup in interface org.springframework.integration.store.MessageGroupStore
      Overrides:
      getOneMessageFromGroup in class AbstractConfigurableMongoDbMessageStore
    • getMessagesForGroup

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

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