Class MongoDbMessageSource
java.lang.Object
org.springframework.integration.util.AbstractExpressionEvaluator
org.springframework.integration.endpoint.AbstractMessageSource<Object>
org.springframework.integration.mongodb.inbound.AbstractMongoDbMessageSource<Object>
org.springframework.integration.mongodb.inbound.MongoDbMessageSource
- All Implemented Interfaces:
- Aware,- BeanFactoryAware,- BeanNameAware,- DisposableBean,- InitializingBean,- ApplicationContextAware,- MessageSource<Object>,- IntegrationPattern,- NamedComponent,- IntegrationInboundManagement,- IntegrationManagement
An instance of 
MessageSource which returns
 a Message with a payload which is the result of
 execution of a Query. When expectSingleResult is false (default), the MongoDb
 Query is executed using MongoOperations.find(Query, Class) method which
 returns a List. The returned List will be used as the payload of the
 Message returned by the {AbstractMessageSource.receive()
 method. An empty List is treated as null, thus resulting in no
 Message returned by the {AbstractMessageSource.receive()
 method.
 
 When expectSingleResult is true, the MongoOperations.findOne(Query, Class) is
 used instead, and the message payload will be the single object returned from the
 query.
- Since:
- 2.2
- Author:
- Amol Nayak, Oleg Zhurakousky, Yaron Yamin, Artem Bilan, Gary Russell
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagementIntegrationManagement.ManagementOverrides
- 
Field SummaryFields inherited from class org.springframework.integration.mongodb.inbound.AbstractMongoDbMessageSourcequeryExpressionFields inherited from class org.springframework.integration.util.AbstractExpressionEvaluatorEXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagementMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
- 
Constructor SummaryConstructorsConstructorDescriptionMongoDbMessageSource(MongoOperations mongoTemplate, Expression queryExpression) Create an instance with the providedMongoOperationsand SpEL expression which should resolve to a Mongo 'query' string (see https://www.mongodb.org/display/DOCS/Querying).MongoDbMessageSource(MongoDatabaseFactory mongoDbFactory, Expression queryExpression) Create an instance with the providedMongoDatabaseFactoryand SpEL expression which should resolve to a MongoDb 'query' string (see https://www.mongodb.org/display/DOCS/Querying).
- 
Method SummaryMethods inherited from class org.springframework.integration.mongodb.inbound.AbstractMongoDbMessageSourceevaluateCollectionNameExpression, evaluateQueryExpression, evaluateUpdateExpression, getApplicationContext, getByIdInQuery, getCollectionNameExpression, getEntityClass, getMongoConverter, getUpdateExpression, idForEntity, isExpectSingleResult, isInitialized, setApplicationContext, setCollectionNameExpression, setEntityClass, setExpectSingleResult, setInitialized, setMongoConverter, setUpdateExpressionMethods inherited from class org.springframework.integration.endpoint.AbstractMessageSourcebuildMessage, destroy, getBeanName, getComponentName, getManagedName, getManagedType, getOverrides, isLoggingEnabled, receive, registerMetricsCaptor, setBeanName, setHeaderExpressions, setLoggingEnabled, setManagedName, setManagedTypeMethods inherited from class org.springframework.integration.util.AbstractExpressionEvaluatorafterPropertiesSet, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, getBeanFactory, getEvaluationContext, getEvaluationContext, getMessageBuilderFactory, setBeanFactory, setConversionServiceMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.integration.support.management.IntegrationManagementgetThisAs, isObserved, registerObservationRegistryMethods inherited from interface org.springframework.integration.core.MessageSourcegetIntegrationPatternType
- 
Constructor Details- 
MongoDbMessageSourceCreate an instance with the providedMongoDatabaseFactoryand SpEL expression which should resolve to a MongoDb 'query' string (see https://www.mongodb.org/display/DOCS/Querying). The 'queryExpression' will be evaluated on every call to theAbstractMessageSource.receive()method.- Parameters:
- mongoDbFactory- The mongodb factory.
- queryExpression- The query expression.
 
- 
MongoDbMessageSourceCreate an instance with the providedMongoOperationsand SpEL expression which should resolve to a Mongo 'query' string (see https://www.mongodb.org/display/DOCS/Querying). It assumes that theMongoOperationsis fully initialized and ready to be used. The 'queryExpression' will be evaluated on every call to theAbstractMessageSource.receive()method.- Parameters:
- mongoTemplate- The mongo template.
- queryExpression- The query expression.
 
 
- 
- 
Method Details- 
getComponentType
- 
onInitprotected void onInit()- Overrides:
- onInitin class- AbstractMongoDbMessageSource<Object>
 
- 
doReceiveWill execute aQueryreturning its results as the Message payload. The payload can be eitherListof elements of objects of type identified byAbstractMongoDbMessageSource.getEntityClass(), or a single element of type identified byAbstractMongoDbMessageSource.getEntityClass()based on the value ofAbstractMongoDbMessageSource.isExpectSingleResult()attribute which defaults to 'false' resultingMessagewith payload of typeList. The collection name used in the query will be provided in theMongoHeaders.COLLECTION_NAMEheader.- Specified by:
- doReceivein class- AbstractMessageSource<Object>
- Returns:
- The value returned.
 
 
-