Class ReactiveMongoDbMessageSource
java.lang.Object
org.springframework.integration.util.AbstractExpressionEvaluator
org.springframework.integration.endpoint.AbstractMessageSource<T>
org.springframework.integration.mongodb.inbound.AbstractMongoDbMessageSource<org.reactivestreams.Publisher<?>>
org.springframework.integration.mongodb.inbound.ReactiveMongoDbMessageSource
- All Implemented Interfaces:
- org.springframework.beans.factory.Aware,- org.springframework.beans.factory.BeanFactoryAware,- org.springframework.beans.factory.BeanNameAware,- org.springframework.beans.factory.DisposableBean,- org.springframework.beans.factory.InitializingBean,- org.springframework.context.ApplicationContextAware,- org.springframework.integration.core.MessageSource<org.reactivestreams.Publisher<?>>,- org.springframework.integration.IntegrationPattern,- org.springframework.integration.support.context.NamedComponent,- org.springframework.integration.support.management.IntegrationInboundManagement,- org.springframework.integration.support.management.IntegrationManagement
public class ReactiveMongoDbMessageSource extends AbstractMongoDbMessageSource<org.reactivestreams.Publisher<?>>
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 ReactiveMongoOperations.find(Query, Class) method which
 returns a Flux.
 The returned Flux will be used as the payload of the
 Message returned by the AbstractMessageSource.receive()
 method.
 
 When expectSingleResult is true, the ReactiveMongoOperations.findOne(Query, Class) is
 used instead, and the message payload will be a Mono
 for the single object returned from the query.
- Since:
- 5.3
- 
Nested Class Summary
- 
Field SummaryFields inherited from class org.springframework.integration.mongodb.inbound.AbstractMongoDbMessageSourcequeryExpression
- 
Constructor SummaryConstructors Constructor Description ReactiveMongoDbMessageSource(org.springframework.data.mongodb.core.ReactiveMongoOperations reactiveMongoTemplate, org.springframework.expression.Expression queryExpression)Create an instance with the providedReactiveMongoOperationsand SpEL expression which should resolve to a Mongo 'query' string (see https://www.mongodb.org/display/DOCS/Querying).ReactiveMongoDbMessageSource(org.springframework.data.mongodb.ReactiveMongoDatabaseFactory reactiveMongoDatabaseFactory, org.springframework.expression.Expression queryExpression)Create an instance with the providedReactiveMongoDatabaseFactoryand SpEL expression which should resolve to a MongoDb 'query' string (see https://www.mongodb.org/display/DOCS/Querying).
- 
Method SummaryModifier and Type Method Description java.lang.ObjectdoReceive()Execute aQueryreturning its results as the Message payload.java.lang.StringgetComponentType()protected voidonInit()Methods 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, wait
- 
Constructor Details- 
ReactiveMongoDbMessageSourcepublic ReactiveMongoDbMessageSource(org.springframework.data.mongodb.ReactiveMongoDatabaseFactory reactiveMongoDatabaseFactory, org.springframework.expression.Expression queryExpression)Create an instance with the providedReactiveMongoDatabaseFactoryand 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:
- reactiveMongoDatabaseFactory- The reactiveMongoDatabaseFactory factory.
- queryExpression- The query expression.
 
- 
ReactiveMongoDbMessageSourcepublic ReactiveMongoDbMessageSource(org.springframework.data.mongodb.core.ReactiveMongoOperations reactiveMongoTemplate, org.springframework.expression.Expression queryExpression)Create an instance with the providedReactiveMongoOperationsand SpEL expression which should resolve to a Mongo 'query' string (see https://www.mongodb.org/display/DOCS/Querying). It assumes that theReactiveMongoOperationsis fully initialized and ready to be used. The 'queryExpression' will be evaluated on every call to theAbstractMessageSource.receive()method.- Parameters:
- reactiveMongoTemplate- The reactive Mongo template.
- queryExpression- The query expression.
 
 
- 
- 
Method Details- 
getComponentTypepublic java.lang.String getComponentType()
- 
onInitprotected void onInit()- Overrides:
- onInitin class- AbstractMongoDbMessageSource<org.reactivestreams.Publisher<?>>
 
- 
doReceivepublic java.lang.Object doReceive()Execute aQueryreturning its results as the Message payload. The payload can be eitherFluxorMonoof 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 typeFlux. The collection name used in the query will be provided in theMongoHeaders.COLLECTION_NAMEheader.- Specified by:
- doReceivein class- org.springframework.integration.endpoint.AbstractMessageSource<org.reactivestreams.Publisher<?>>
 
 
-