Class AbstractConfigurableMongoDbMessageStore
java.lang.Object
org.springframework.integration.store.AbstractBatchingMessageGroupStore
org.springframework.integration.store.AbstractMessageGroupStore
org.springframework.integration.mongodb.store.AbstractConfigurableMongoDbMessageStore
- 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
- Direct Known Subclasses:
ConfigurableMongoDbMessageStore,MongoDbChannelMessageStore
public abstract class AbstractConfigurableMongoDbMessageStore
extends org.springframework.integration.store.AbstractMessageGroupStore
implements org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware
The abstract MongoDB
AbstractMessageGroupStore implementation to provide configuration for common options
for implementations of this class.- Since:
- 4.0
-
Nested Class Summary
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringcollectionNameprotected org.apache.commons.logging.Logloggerprotected org.springframework.data.mongodb.MongoDatabaseFactorymongoDbFactorystatic java.lang.StringSEQUENCE_NAME -
Constructor Summary
Constructors Constructor Description AbstractConfigurableMongoDbMessageStore(org.springframework.data.mongodb.core.MongoTemplate mongoTemplate, java.lang.String collectionName)AbstractConfigurableMongoDbMessageStore(org.springframework.data.mongodb.MongoDatabaseFactory mongoDbFactory, java.lang.String collectionName)AbstractConfigurableMongoDbMessageStore(org.springframework.data.mongodb.MongoDatabaseFactory mongoDbFactory, org.springframework.data.mongodb.core.convert.MappingMongoConverter mappingMongoConverter, java.lang.String collectionName) -
Method Summary
Modifier and Type Method Description protected voidaddMessageDocument(MessageDocument document)voidaddMessagesToGroup(java.lang.Object groupId, org.springframework.messaging.Message<?>... messages)voidafterPropertiesSet()voidcompleteGroup(java.lang.Object groupId)protected org.springframework.context.ApplicationContextgetApplicationContext()protected org.springframework.data.mongodb.core.convert.MappingMongoConvertergetMappingMongoConverter()org.springframework.messaging.Message<?>getMessage(java.util.UUID id)protected org.springframework.integration.support.MessageBuilderFactorygetMessageBuilderFactory()org.springframework.integration.store.MessageMetadatagetMessageMetadata(java.util.UUID id)java.util.Collection<org.springframework.messaging.Message<?>>getMessagesForGroup(java.lang.Object groupId)protected org.springframework.data.mongodb.core.MongoTemplategetMongoTemplate()protected longgetNextId()Perform MongoDBINCoperation for the document, which contains theMessageDocumentsequence, and return the new incremented value for the newMessageDocument.org.springframework.messaging.Message<?>getOneMessageFromGroup(java.lang.Object groupId)protected static org.springframework.data.mongodb.core.query.QuerygroupIdQuery(java.lang.Object groupId)java.util.Iterator<org.springframework.integration.store.MessageGroup>iterator()intmessageGroupSize(java.lang.Object groupId)voidremoveMessageGroup(java.lang.Object groupId)voidremoveMessagesFromGroup(java.lang.Object key, java.util.Collection<org.springframework.messaging.Message<?>> messages)voidsetApplicationContext(org.springframework.context.ApplicationContext applicationContext)voidsetLastReleasedSequenceNumberForGroup(java.lang.Object groupId, int sequenceNumber)Methods inherited from class org.springframework.integration.store.AbstractMessageGroupStore
addMessageToGroup, copy, expireMessageGroups, getGroupMetadata, getMessageCountForAllMessageGroups, getMessageGroupCount, getMessageGroupFactory, isTimeoutOnIdle, registerMessageGroupExpiryCallback, removeMessagesFromGroup, setExpiryCallbacks, setLazyLoadMessageGroups, setTimeoutOnIdleMethods inherited from class org.springframework.integration.store.AbstractBatchingMessageGroupStore
getRemoveBatchSize, setMessageGroupFactory, setRemoveBatchSizeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
SEQUENCE_NAME
public static final java.lang.String SEQUENCE_NAME- See Also:
- Constant Field Values
-
logger
protected final org.apache.commons.logging.Log logger -
collectionName
protected final java.lang.String collectionName -
mongoDbFactory
protected final org.springframework.data.mongodb.MongoDatabaseFactory mongoDbFactory
-
-
Constructor Details
-
AbstractConfigurableMongoDbMessageStore
public AbstractConfigurableMongoDbMessageStore(org.springframework.data.mongodb.core.MongoTemplate mongoTemplate, java.lang.String collectionName) -
AbstractConfigurableMongoDbMessageStore
public AbstractConfigurableMongoDbMessageStore(org.springframework.data.mongodb.MongoDatabaseFactory mongoDbFactory, java.lang.String collectionName) -
AbstractConfigurableMongoDbMessageStore
public AbstractConfigurableMongoDbMessageStore(org.springframework.data.mongodb.MongoDatabaseFactory mongoDbFactory, org.springframework.data.mongodb.core.convert.MappingMongoConverter mappingMongoConverter, java.lang.String collectionName)
-
-
Method Details
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException- Specified by:
setApplicationContextin interfaceorg.springframework.context.ApplicationContextAware- Throws:
org.springframework.beans.BeansException
-
getMongoTemplate
protected org.springframework.data.mongodb.core.MongoTemplate getMongoTemplate() -
getMappingMongoConverter
protected org.springframework.data.mongodb.core.convert.MappingMongoConverter getMappingMongoConverter() -
getApplicationContext
protected org.springframework.context.ApplicationContext getApplicationContext() -
getMessageBuilderFactory
protected org.springframework.integration.support.MessageBuilderFactory getMessageBuilderFactory() -
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean
-
getMessage
public org.springframework.messaging.Message<?> getMessage(java.util.UUID id) -
getMessageMetadata
public org.springframework.integration.store.MessageMetadata getMessageMetadata(java.util.UUID id) -
removeMessageGroup
public void removeMessageGroup(java.lang.Object groupId)- Specified by:
removeMessageGroupin interfaceorg.springframework.integration.store.BasicMessageGroupStore
-
messageGroupSize
public int messageGroupSize(java.lang.Object groupId)- Specified by:
messageGroupSizein interfaceorg.springframework.integration.store.BasicMessageGroupStore
-
getNextId
protected long getNextId()Perform MongoDBINCoperation for the document, which contains theMessageDocumentsequence, and return the new incremented value for the newMessageDocument. TheSEQUENCE_NAMEdocument is created on demand.- Returns:
- the next sequence value.
-
addMessageDocument
-
groupIdQuery
protected static org.springframework.data.mongodb.core.query.Query groupIdQuery(java.lang.Object groupId) -
removeMessagesFromGroup
public void removeMessagesFromGroup(java.lang.Object key, java.util.Collection<org.springframework.messaging.Message<?>> messages)- Specified by:
removeMessagesFromGroupin interfaceorg.springframework.integration.store.MessageGroupStore
-
setLastReleasedSequenceNumberForGroup
public void setLastReleasedSequenceNumberForGroup(java.lang.Object groupId, int sequenceNumber)- Specified by:
setLastReleasedSequenceNumberForGroupin interfaceorg.springframework.integration.store.MessageGroupStore
-
iterator
public java.util.Iterator<org.springframework.integration.store.MessageGroup> iterator()- Specified by:
iteratorin interfacejava.lang.Iterable<org.springframework.integration.store.MessageGroup>- Specified by:
iteratorin interfaceorg.springframework.integration.store.MessageGroupStore
-
completeGroup
public void completeGroup(java.lang.Object groupId)- Specified by:
completeGroupin interfaceorg.springframework.integration.store.MessageGroupStore
-
getOneMessageFromGroup
public org.springframework.messaging.Message<?> getOneMessageFromGroup(java.lang.Object groupId)- Specified by:
getOneMessageFromGroupin interfaceorg.springframework.integration.store.MessageGroupStore
-
addMessagesToGroup
public void addMessagesToGroup(java.lang.Object groupId, org.springframework.messaging.Message<?>... messages)- Specified by:
addMessagesToGroupin interfaceorg.springframework.integration.store.MessageGroupStore
-
getMessagesForGroup
public java.util.Collection<org.springframework.messaging.Message<?>> getMessagesForGroup(java.lang.Object groupId)- Specified by:
getMessagesForGroupin interfaceorg.springframework.integration.store.MessageGroupStore
-