Class AbstractMongoDbMessageSource<T>
java.lang.Object
org.springframework.integration.util.AbstractExpressionEvaluator
org.springframework.integration.endpoint.AbstractMessageSource<T>
org.springframework.integration.mongodb.inbound.AbstractMongoDbMessageSource<T>
- Type Parameters:
T
- The payload type.
- 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<T>
,org.springframework.integration.IntegrationPattern
,org.springframework.integration.support.context.NamedComponent
,org.springframework.integration.support.management.IntegrationInboundManagement
,org.springframework.integration.support.management.IntegrationManagement
- Direct Known Subclasses:
MongoDbMessageSource
,ReactiveMongoDbMessageSource
public abstract class AbstractMongoDbMessageSource<T>
extends org.springframework.integration.endpoint.AbstractMessageSource<T>
implements org.springframework.context.ApplicationContextAware
An
AbstractMessageSource
extension for common MongoDB sources options and support methods.- Since:
- 5.5
-
Nested Class Summary
-
Field Summary
Fields Modifier and Type Field Description protected org.springframework.expression.Expression
queryExpression
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractMongoDbMessageSource(org.springframework.expression.Expression queryExpression)
-
Method Summary
Modifier and Type Method Description protected java.lang.String
evaluateCollectionNameExpression()
protected org.springframework.data.mongodb.core.query.Query
evaluateQueryExpression()
protected org.springframework.data.mongodb.core.query.Update
evaluateUpdateExpression()
org.springframework.context.ApplicationContext
getApplicationContext()
protected org.springframework.data.mongodb.core.query.Query
getByIdInQuery(java.util.Collection<?> entities)
org.springframework.expression.Expression
getCollectionNameExpression()
java.lang.Class<?>
getEntityClass()
org.springframework.data.mongodb.core.convert.MongoConverter
getMongoConverter()
org.springframework.expression.Expression
getUpdateExpression()
protected org.springframework.data.util.Pair<java.lang.String,java.lang.Object>
idForEntity(java.lang.Object entity)
boolean
isExpectSingleResult()
protected boolean
isInitialized()
protected void
onInit()
void
setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
void
setCollectionNameExpression(org.springframework.expression.Expression collectionNameExpression)
Set the SpELExpression
that should resolve to a collection name used by theQuery
.void
setEntityClass(java.lang.Class<?> entityClass)
Set the type of the entityClass that will be passed to the find MongoDb template operation.void
setExpectSingleResult(boolean expectSingleResult)
Manage which find* method to invoke.protected void
setInitialized(boolean initialized)
void
setMongoConverter(org.springframework.data.mongodb.core.convert.MongoConverter mongoConverter)
Provide a customMongoConverter
used to assist in deserialization data read from MongoDb.void
setUpdateExpression(org.springframework.expression.Expression updateExpression)
Specify an optionalupdate
for just polled records from the collection.Methods inherited from class org.springframework.integration.endpoint.AbstractMessageSource
buildMessage, destroy, doReceive, getBeanName, getComponentName, getManagedName, getManagedType, getOverrides, isLoggingEnabled, receive, registerMetricsCaptor, setBeanName, setHeaderExpressions, setLoggingEnabled, setManagedName, setManagedType
Methods inherited from class org.springframework.integration.util.AbstractExpressionEvaluator
afterPropertiesSet, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, getBeanFactory, getEvaluationContext, getEvaluationContext, getMessageBuilderFactory, setBeanFactory, setConversionService
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAs
-
Field Details
-
queryExpression
protected final org.springframework.expression.Expression queryExpression
-
-
Constructor Details
-
AbstractMongoDbMessageSource
protected AbstractMongoDbMessageSource(org.springframework.expression.Expression queryExpression)
-
-
Method Details
-
setEntityClass
public void setEntityClass(java.lang.Class<?> entityClass)Set the type of the entityClass that will be passed to the find MongoDb template operation. Default isDBObject
.- Parameters:
entityClass
- The entity class.
-
setExpectSingleResult
public void setExpectSingleResult(boolean expectSingleResult)Manage which find* method to invoke. Default is 'false', which means theAbstractMessageSource.receive()
method will use thefind()
method. If set to 'true',AbstractMessageSource.receive()
will usefindOne(Query, Class)
, and the payload of the returnedMessage
will be the returned target Object of type identified byentityClass
instead of a List.- Parameters:
expectSingleResult
- true if a single result is expected.
-
setCollectionNameExpression
public void setCollectionNameExpression(org.springframework.expression.Expression collectionNameExpression)Set the SpELExpression
that should resolve to a collection name used by theQuery
. The resulting collection name will be included in theMongoHeaders.COLLECTION_NAME
header.- Parameters:
collectionNameExpression
- The collection name expression.
-
setMongoConverter
public void setMongoConverter(org.springframework.data.mongodb.core.convert.MongoConverter mongoConverter)Provide a customMongoConverter
used to assist in deserialization data read from MongoDb.- Parameters:
mongoConverter
- The mongo converter.
-
setUpdateExpression
public void setUpdateExpression(org.springframework.expression.Expression updateExpression)Specify an optionalupdate
for just polled records from the collection.- Parameters:
updateExpression
- SpEL expression for anUpdateDefinition
.- Since:
- 5.5
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException- Specified by:
setApplicationContext
in interfaceorg.springframework.context.ApplicationContextAware
- Throws:
org.springframework.beans.BeansException
-
getCollectionNameExpression
public org.springframework.expression.Expression getCollectionNameExpression() -
getMongoConverter
public org.springframework.data.mongodb.core.convert.MongoConverter getMongoConverter() -
getEntityClass
public java.lang.Class<?> getEntityClass() -
isExpectSingleResult
public boolean isExpectSingleResult() -
getUpdateExpression
public org.springframework.expression.Expression getUpdateExpression() -
getApplicationContext
public org.springframework.context.ApplicationContext getApplicationContext() -
setInitialized
protected void setInitialized(boolean initialized) -
isInitialized
protected boolean isInitialized() -
onInit
protected void onInit()- Overrides:
onInit
in classorg.springframework.integration.util.AbstractExpressionEvaluator
-
evaluateQueryExpression
protected org.springframework.data.mongodb.core.query.Query evaluateQueryExpression() -
evaluateCollectionNameExpression
protected java.lang.String evaluateCollectionNameExpression() -
getByIdInQuery
protected org.springframework.data.mongodb.core.query.Query getByIdInQuery(java.util.Collection<?> entities) -
idForEntity
protected org.springframework.data.util.Pair<java.lang.String,java.lang.Object> idForEntity(java.lang.Object entity) -
evaluateUpdateExpression
@Nullable protected org.springframework.data.mongodb.core.query.Update evaluateUpdateExpression()
-