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
Deprecated.
since 5.0. This constant isn't used any more.
|
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
Deprecated.
since 5.0. This constant isn't used any more.
|
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) |
MessageMetadata |
getMessageMetadata(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.
|
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, getMessageCountForAllMessageGroups, getMessageGroupCount, getMessageGroupFactory, isTimeoutOnIdle, registerMessageGroupExpiryCallback, removeMessagesFromGroup, setExpiryCallbacks, setLazyLoadMessageGroups, setTimeoutOnIdlegetRemoveBatchSize, setMessageGroupFactory, setRemoveBatchSizeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddMessageToGroup, getMessageGroup, pollMessageFromGrouppublic static final java.lang.String SEQUENCE_NAME
@Deprecated public static final java.lang.String SAVED_KEY
@Deprecated 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.ApplicationContextAwareorg.springframework.beans.BeansExceptionpublic void afterPropertiesSet()
throws java.lang.Exception
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanjava.lang.Exceptionpublic org.springframework.messaging.Message<?> getMessage(java.util.UUID id)
public MessageMetadata getMessageMetadata(java.util.UUID id)
public void removeMessageGroup(java.lang.Object groupId)
BasicMessageGroupStoreremoveMessageGroup in interface BasicMessageGroupStoregroupId - The id of the group to remove.public int messageGroupSize(java.lang.Object groupId)
BasicMessageGroupStoremessageGroupSize in interface BasicMessageGroupStoregroupId - 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)
public void removeMessagesFromGroup(java.lang.Object key,
java.util.Collection<org.springframework.messaging.Message<?>> messages)
MessageGroupStoreremoveMessagesFromGroup in interface MessageGroupStorekey - The groupId for the group containing the message(s).messages - The messages to be removed.public void setLastReleasedSequenceNumberForGroup(java.lang.Object groupId,
int sequenceNumber)
MessageGroupStoresetLastReleasedSequenceNumberForGroup in interface MessageGroupStoregroupId - The group identifier.sequenceNumber - The sequence number.public java.util.Iterator<MessageGroup> iterator()
iterator in interface java.lang.Iterable<MessageGroup>iterator in interface MessageGroupStoreMessageGroups.public void completeGroup(java.lang.Object groupId)
MessageGroupStorecompleteGroup in interface MessageGroupStoregroupId - The group identifier.public org.springframework.messaging.Message<?> getOneMessageFromGroup(java.lang.Object groupId)
MessageGroupStoreMessage from MessageGroup.getOneMessageFromGroup in interface MessageGroupStoregroupId - The group identifier.Message.public void addMessagesToGroup(java.lang.Object groupId,
org.springframework.messaging.Message<?>... messages)
MessageGroupStoreaddMessagesToGroup in interface MessageGroupStoregroupId - 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)
MessageGroupStoregetMessagesForGroup in interface MessageGroupStoregroupId - The group id to retrieve messages for.