public abstract class AbstractConfigurableMongoDbMessageStore extends AbstractMessageGroupStore implements BasicMessageGroupStore, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware
BasicMessageGroupStore
implementation to provide configuration for common options
for implementations of this class.MessageGroupStore.MessageGroupCallback
Modifier and Type | Field and Description |
---|---|
protected org.springframework.context.ApplicationContext |
applicationContext |
protected java.lang.String |
collectionName |
static java.lang.String |
CREATED_DATE_KEY
The name of the message header that stores a timestamp for the time the message was inserted.
|
protected org.apache.commons.logging.Log |
logger |
protected org.springframework.data.mongodb.core.convert.MappingMongoConverter |
mappingMongoConverter |
protected MessageBuilderFactory |
messageBuilderFactory |
protected org.springframework.data.mongodb.MongoDbFactory |
mongoDbFactory |
protected org.springframework.data.mongodb.core.MongoTemplate |
mongoTemplate |
static java.lang.String |
SAVED_KEY
The name of the message header that stores a flag to indicate that the message has been saved.
|
static java.lang.String |
SEQUENCE_NAME |
Constructor and Description |
---|
AbstractConfigurableMongoDbMessageStore(org.springframework.data.mongodb.MongoDbFactory mongoDbFactory,
org.springframework.data.mongodb.core.convert.MappingMongoConverter mappingMongoConverter,
java.lang.String collectionName) |
AbstractConfigurableMongoDbMessageStore(org.springframework.data.mongodb.MongoDbFactory mongoDbFactory,
java.lang.String collectionName) |
AbstractConfigurableMongoDbMessageStore(org.springframework.data.mongodb.core.MongoTemplate mongoTemplate,
java.lang.String collectionName) |
Modifier and Type | Method and Description |
---|---|
protected void |
addMessageDocument(MessageDocument document) |
void |
addMessagesToGroup(java.lang.Object groupId,
org.springframework.messaging.Message<?>... messages)
Store messages with an association to a group id.
|
void |
afterPropertiesSet() |
void |
completeGroup(java.lang.Object groupId)
Completes this MessageGroup.
|
org.springframework.messaging.Message<?> |
getMessage(java.util.UUID id) |
java.util.Collection<org.springframework.messaging.Message<?>> |
getMessagesForGroup(java.lang.Object groupId)
Retrieve messages for the provided group id.
|
protected int |
getNextId()
Perform MongoDB
INC operation for the document, which contains the MessageDocument
sequence , and return the new incremented value for the new MessageDocument . |
org.springframework.messaging.Message<?> |
getOneMessageFromGroup(java.lang.Object groupId)
Return the one
Message from MessageGroup . |
protected static org.springframework.data.mongodb.core.query.Query |
groupIdQuery(java.lang.Object groupId) |
java.util.Iterator<MessageGroup> |
iterator() |
int |
messageGroupSize(java.lang.Object groupId)
Returns the size of this MessageGroup.
|
MessageGroup |
removeMessageFromGroup(java.lang.Object key,
org.springframework.messaging.Message<?> messageToRemove)
Deprecated.
|
void |
removeMessageGroup(java.lang.Object groupId)
Remove the message group with this id.
|
void |
removeMessagesFromGroup(java.lang.Object key,
java.util.Collection<org.springframework.messaging.Message<?>> messages)
Persist the deletion of messages from the group.
|
void |
setApplicationContext(org.springframework.context.ApplicationContext applicationContext) |
void |
setLastReleasedSequenceNumberForGroup(java.lang.Object groupId,
int sequenceNumber)
Allows you to set the sequence number of the last released Message.
|
addMessageToGroup, copy, expireMessageGroups, getGroupMetadata, getMessageBuilderFactory, getMessageCountForAllMessageGroups, getMessageGroupCount, getMessageGroupFactory, isTimeoutOnIdle, registerMessageGroupExpiryCallback, removeMessagesFromGroup, setBeanFactory, setExpiryCallbacks, setLazyLoadMessageGroups, setTimeoutOnIdle
getRemoveBatchSize, setMessageGroupFactory, setRemoveBatchSize
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addMessageToGroup, getMessageGroup, pollMessageFromGroup
public static final java.lang.String SEQUENCE_NAME
public static final java.lang.String SAVED_KEY
public static final java.lang.String CREATED_DATE_KEY
protected final org.apache.commons.logging.Log logger
protected final java.lang.String collectionName
protected final org.springframework.data.mongodb.MongoDbFactory mongoDbFactory
protected org.springframework.data.mongodb.core.MongoTemplate mongoTemplate
protected org.springframework.data.mongodb.core.convert.MappingMongoConverter mappingMongoConverter
protected org.springframework.context.ApplicationContext applicationContext
protected MessageBuilderFactory messageBuilderFactory
public AbstractConfigurableMongoDbMessageStore(org.springframework.data.mongodb.core.MongoTemplate mongoTemplate, java.lang.String collectionName)
public AbstractConfigurableMongoDbMessageStore(org.springframework.data.mongodb.MongoDbFactory mongoDbFactory, java.lang.String collectionName)
public AbstractConfigurableMongoDbMessageStore(org.springframework.data.mongodb.MongoDbFactory mongoDbFactory, org.springframework.data.mongodb.core.convert.MappingMongoConverter mappingMongoConverter, java.lang.String collectionName)
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException
setApplicationContext
in interface org.springframework.context.ApplicationContextAware
org.springframework.beans.BeansException
public void afterPropertiesSet() throws java.lang.Exception
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
java.lang.Exception
public org.springframework.messaging.Message<?> getMessage(java.util.UUID id)
public void removeMessageGroup(java.lang.Object groupId)
BasicMessageGroupStore
removeMessageGroup
in interface BasicMessageGroupStore
groupId
- The id of the group to remove.public int messageGroupSize(java.lang.Object groupId)
BasicMessageGroupStore
messageGroupSize
in interface BasicMessageGroupStore
groupId
- The group identifier.protected int getNextId()
INC
operation for the document, which contains the MessageDocument
sequence
, and return the new incremented value for the new MessageDocument
.
The SEQUENCE_NAME
document is created on demand.protected void addMessageDocument(MessageDocument document)
protected static org.springframework.data.mongodb.core.query.Query groupIdQuery(java.lang.Object groupId)
@Deprecated public MessageGroup removeMessageFromGroup(java.lang.Object key, org.springframework.messaging.Message<?> messageToRemove)
MessageGroupStore
removeMessageFromGroup
in interface MessageGroupStore
key
- The groupId for the group containing the message.messageToRemove
- The message to be removed.public void removeMessagesFromGroup(java.lang.Object key, java.util.Collection<org.springframework.messaging.Message<?>> messages)
MessageGroupStore
removeMessagesFromGroup
in interface MessageGroupStore
key
- The groupId for the group containing the message(s).messages
- The messages to be removed.public void setLastReleasedSequenceNumberForGroup(java.lang.Object groupId, int sequenceNumber)
MessageGroupStore
setLastReleasedSequenceNumberForGroup
in interface MessageGroupStore
groupId
- The group identifier.sequenceNumber
- The sequence number.public java.util.Iterator<MessageGroup> iterator()
iterator
in interface java.lang.Iterable<MessageGroup>
iterator
in interface MessageGroupStore
MessageGroup
s.public void completeGroup(java.lang.Object groupId)
MessageGroupStore
completeGroup
in interface MessageGroupStore
groupId
- The group identifier.public org.springframework.messaging.Message<?> getOneMessageFromGroup(java.lang.Object groupId)
MessageGroupStore
Message
from MessageGroup
.getOneMessageFromGroup
in interface MessageGroupStore
groupId
- The group identifier.Message
.public void addMessagesToGroup(java.lang.Object groupId, org.springframework.messaging.Message<?>... messages)
MessageGroupStore
addMessagesToGroup
in interface MessageGroupStore
groupId
- The group id to store messages under.messages
- The messages to add.public java.util.Collection<org.springframework.messaging.Message<?>> getMessagesForGroup(java.lang.Object groupId)
MessageGroupStore
getMessagesForGroup
in interface MessageGroupStore
groupId
- The group id to retrieve messages for.