org.springframework.integration.mongodb.store
Class MongoDbMessageStore

java.lang.Object
  extended by org.springframework.integration.store.AbstractMessageGroupStore
      extended by org.springframework.integration.mongodb.store.MongoDbMessageStore
All Implemented Interfaces:
java.lang.Iterable<org.springframework.integration.store.MessageGroup>, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.integration.store.MessageGroupStore, org.springframework.integration.store.MessageStore

public class MongoDbMessageStore
extends org.springframework.integration.store.AbstractMessageGroupStore
implements org.springframework.integration.store.MessageStore, org.springframework.beans.factory.BeanClassLoaderAware

An implementation of both the MessageStore and MessageGroupStore strategies that relies upon MongoDB for persistence.

Since:
2.1

Field Summary
 
Fields inherited from class org.springframework.integration.store.AbstractMessageGroupStore
logger
 
Constructor Summary
MongoDbMessageStore(org.springframework.data.mongodb.MongoDbFactory mongoDbFactory)
          Create a MongoDbMessageStore using the provided MongoDbFactory.and the default collection name.
MongoDbMessageStore(org.springframework.data.mongodb.MongoDbFactory mongoDbFactory, java.lang.String collectionName)
          Create a MongoDbMessageStore using the provided MongoDbFactory and collection name.
 
Method Summary
<T> org.springframework.integration.Message<T>
addMessage(org.springframework.integration.Message<T> message)
           
 org.springframework.integration.store.MessageGroup addMessageToGroup(java.lang.Object groupId, org.springframework.integration.Message<?> message)
           
 void completeGroup(java.lang.Object groupId)
           
 org.springframework.integration.Message<?> getMessage(java.util.UUID id)
           
 long getMessageCount()
           
 org.springframework.integration.store.MessageGroup getMessageGroup(java.lang.Object groupId)
           
 java.util.Iterator<org.springframework.integration.store.MessageGroup> iterator()
           
 int messageGroupSize(java.lang.Object groupId)
           
 org.springframework.integration.Message<?> pollMessageFromGroup(java.lang.Object groupId)
           
 org.springframework.integration.Message<?> removeMessage(java.util.UUID id)
           
 org.springframework.integration.store.MessageGroup removeMessageFromGroup(java.lang.Object groupId, org.springframework.integration.Message<?> messageToRemove)
           
 void removeMessageGroup(java.lang.Object groupId)
           
 void setBeanClassLoader(java.lang.ClassLoader classLoader)
           
 void setLastReleasedSequenceNumberForGroup(java.lang.Object groupId, int sequenceNumber)
           
 
Methods inherited from class org.springframework.integration.store.AbstractMessageGroupStore
expireMessageGroups, getMessageCountForAllMessageGroups, getMessageGroupCount, isTimeoutOnIdle, registerMessageGroupExpiryCallback, setExpiryCallbacks, setTimeoutOnIdle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MongoDbMessageStore

public MongoDbMessageStore(org.springframework.data.mongodb.MongoDbFactory mongoDbFactory)
Create a MongoDbMessageStore using the provided MongoDbFactory.and the default collection name.


MongoDbMessageStore

public MongoDbMessageStore(org.springframework.data.mongodb.MongoDbFactory mongoDbFactory,
                           java.lang.String collectionName)
Create a MongoDbMessageStore using the provided MongoDbFactory and collection name.

Method Detail

setBeanClassLoader

public void setBeanClassLoader(java.lang.ClassLoader classLoader)
Specified by:
setBeanClassLoader in interface org.springframework.beans.factory.BeanClassLoaderAware

addMessage

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

getMessage

public org.springframework.integration.Message<?> getMessage(java.util.UUID id)
Specified by:
getMessage in interface org.springframework.integration.store.MessageStore

getMessageCount

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

removeMessage

public org.springframework.integration.Message<?> removeMessage(java.util.UUID id)
Specified by:
removeMessage 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.MessageGroupStore

addMessageToGroup

public org.springframework.integration.store.MessageGroup addMessageToGroup(java.lang.Object groupId,
                                                                            org.springframework.integration.Message<?> message)
Specified by:
addMessageToGroup in interface org.springframework.integration.store.MessageGroupStore

removeMessageFromGroup

public org.springframework.integration.store.MessageGroup removeMessageFromGroup(java.lang.Object groupId,
                                                                                 org.springframework.integration.Message<?> messageToRemove)
Specified by:
removeMessageFromGroup in interface org.springframework.integration.store.MessageGroupStore

removeMessageGroup

public void removeMessageGroup(java.lang.Object groupId)
Specified by:
removeMessageGroup in interface org.springframework.integration.store.MessageGroupStore

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

completeGroup

public void completeGroup(java.lang.Object groupId)
Specified by:
completeGroup in interface org.springframework.integration.store.MessageGroupStore

setLastReleasedSequenceNumberForGroup

public void setLastReleasedSequenceNumberForGroup(java.lang.Object groupId,
                                                  int sequenceNumber)
Specified by:
setLastReleasedSequenceNumberForGroup in interface org.springframework.integration.store.MessageGroupStore

pollMessageFromGroup

public org.springframework.integration.Message<?> pollMessageFromGroup(java.lang.Object groupId)
Specified by:
pollMessageFromGroup in interface org.springframework.integration.store.MessageGroupStore

messageGroupSize

public int messageGroupSize(java.lang.Object groupId)
Specified by:
messageGroupSize in interface org.springframework.integration.store.MessageGroupStore