|
Spring Integration | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.integration.context.IntegrationObjectSupport org.springframework.integration.mongodb.inbound.MongoDbMessageSource
public class MongoDbMessageSource
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 payoad of the Message
returned by the {receive()
method.
An empty List
is treated as null, thus resulting in no Message
returned
by the {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.
Field Summary |
---|
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport |
---|
logger |
Constructor Summary | |
---|---|
MongoDbMessageSource(org.springframework.data.mongodb.MongoDbFactory mongoDbFactory,
org.springframework.expression.Expression queryExpression)
Creates an instance with the provided MongoDbFactory and SpEL expression
which should resolve to a MongoDb 'query' string
(see http://www.mongodb.org/display/DOCS/Querying). |
|
MongoDbMessageSource(org.springframework.data.mongodb.core.MongoOperations mongoTemplate,
org.springframework.expression.Expression queryExpression)
Creates an instance with the provided MongoOperations and SpEL expression
which should resolve to a Mongo 'query' string
(see http://www.mongodb.org/display/DOCS/Querying). |
Method Summary | |
---|---|
protected void |
onInit()
Subclasses may implement this for initialization logic. |
Message<java.lang.Object> |
receive()
Will execute a Query returning its results as the Message payload. |
void |
setCollectionNameExpression(org.springframework.expression.Expression collectionNameExpression)
Sets the SpEL Expression that should resolve to a collection name
used by the Query . |
void |
setEntityClass(java.lang.Class<?> entityClass)
Allows you to set the type of the entityClass that will be passed to the MongoTemplate.find(Query, Class) or MongoTemplate.findOne(Query, Class)
method. |
void |
setExpectSingleResult(boolean expectSingleResult)
Allows you to manage which find* method to invoke on MongoTemplate . |
void |
setMongoConverter(org.springframework.data.mongodb.core.convert.MongoConverter mongoConverter)
Allows you to provide a custom MongoConverter used to assist in deserialization
data read from MongoDb. |
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport |
---|
afterPropertiesSet, getBeanFactory, getComponentName, getComponentType, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setComponentName, setConversionService, setTaskScheduler, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public MongoDbMessageSource(org.springframework.data.mongodb.MongoDbFactory mongoDbFactory, org.springframework.expression.Expression queryExpression)
MongoDbFactory
and SpEL expression
which should resolve to a MongoDb 'query' string
(see http://www.mongodb.org/display/DOCS/Querying).
The 'queryExpression' will be evaluated on every call to the receive()
method.
mongoDbFactory
- queryExpression
- public MongoDbMessageSource(org.springframework.data.mongodb.core.MongoOperations mongoTemplate, org.springframework.expression.Expression queryExpression)
MongoOperations
and SpEL expression
which should resolve to a Mongo 'query' string
(see http://www.mongodb.org/display/DOCS/Querying).
It assumes that the MongoOperations
is fully initialized and ready to be used.
The 'queryExpression' will be evaluated on every call to the receive()
method.
mongoTemplate
- queryExpression
- Method Detail |
---|
public void setEntityClass(java.lang.Class<?> entityClass)
MongoTemplate.find(Query, Class)
or MongoTemplate.findOne(Query, Class)
method.
Default is DBObject
.
entityClass
- public void setExpectSingleResult(boolean expectSingleResult)
MongoTemplate
.
Default is 'false', which means the receive()
method will use
the MongoTemplate.find(Query, Class)
method. If set to 'true',
receive()
will use MongoTemplate.findOne(Query, Class)
,
and the payload of the returned Message
will be the returned target Object of type
identified by {entityClass
instead of a List.
expectSingleResult
- public void setCollectionNameExpression(org.springframework.expression.Expression collectionNameExpression)
Expression
that should resolve to a collection name
used by the Query
. The resulting collection name will be included
in the MongoHeaders.COLLECTION_NAME
header.
collectionNameExpression
- public void setMongoConverter(org.springframework.data.mongodb.core.convert.MongoConverter mongoConverter)
MongoConverter
used to assist in deserialization
data read from MongoDb. Only allowed if this instance was constructed with a
MongoDbFactory
.
mongoConverter
- protected void onInit() throws java.lang.Exception
IntegrationObjectSupport
onInit
in class IntegrationObjectSupport
java.lang.Exception
public Message<java.lang.Object> receive()
Query
returning its results as the Message payload.
The payload can be either List
of elements of objects of type
identified by {entityClass
, or a single element of type identified by {entityClass
based on the value of {expectSingleResult
attribute which defaults to 'false' resulting
Message
with payload of type List
. The collection name used in the
query will be provided in the MongoHeaders.COLLECTION_NAME
header.
receive
in interface MessageSource<java.lang.Object>
|
Spring Integration | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |