Class MongoDbChangeStreamMessageProducer
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.endpoint.AbstractEndpoint
org.springframework.integration.endpoint.MessageProducerSupport
org.springframework.integration.mongodb.inbound.MongoDbChangeStreamMessageProducer
- 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.beans.factory.SmartInitializingSingleton
,org.springframework.context.ApplicationContextAware
,org.springframework.context.Lifecycle
,org.springframework.context.Phased
,org.springframework.context.SmartLifecycle
,org.springframework.integration.context.ExpressionCapable
,org.springframework.integration.core.MessageProducer
,org.springframework.integration.IntegrationPattern
,org.springframework.integration.support.context.NamedComponent
,org.springframework.integration.support.management.ManageableLifecycle
,org.springframework.integration.support.management.ManageableSmartLifecycle
,org.springframework.integration.support.management.TrackableComponent
public class MongoDbChangeStreamMessageProducer
extends org.springframework.integration.endpoint.MessageProducerSupport
A
MessageProducerSupport
for MongoDB Change Stream implementation.
The functionality is based on the
ReactiveMongoOperations.changeStream(String, ChangeStreamOptions, Class)
and MessageProducerSupport.subscribeToPublisher(org.reactivestreams.Publisher)
consumption.- Since:
- 5.3
-
Field Summary
Fields inherited from class org.springframework.integration.endpoint.AbstractEndpoint
lifecycleCondition, lifecycleLock
-
Constructor Summary
Constructors Constructor Description MongoDbChangeStreamMessageProducer(org.springframework.data.mongodb.core.ReactiveMongoOperations mongoOperations)
Create an instance based on the providedReactiveMongoOperations
. -
Method Summary
Modifier and Type Method Description protected void
doStart()
java.lang.String
getComponentType()
void
setCollection(java.lang.String collection)
Specify a collection name to track change events from.void
setDomainType(java.lang.Class<?> domainType)
Specify an object type to convert an event body to.void
setExtractBody(boolean extractBody)
Configure this channel adapter to build aMessage
to produce with a payload based on aChangeStreamEvent.getBody()
(by default) or use a wholeChangeStreamEvent
as a payload.void
setOptions(org.springframework.data.mongodb.core.ChangeStreamOptions options)
Specify aChangeStreamOptions
.Methods inherited from class org.springframework.integration.endpoint.MessageProducerSupport
afterSingletonsInstantiated, buildErrorMessage, doStop, getErrorChannel, getErrorMessageAttributes, getIntegrationPatternType, getMessagingTemplate, getOutputChannel, onInit, sendErrorMessageIfNecessary, sendMessage, setErrorChannel, setErrorChannelName, setErrorMessageStrategy, setOutputChannel, setOutputChannelName, setSendTimeout, setShouldTrack, subscribeToPublisher
Methods inherited from class org.springframework.integration.endpoint.AbstractEndpoint
destroy, doStop, getPhase, getRole, isActive, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stop
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
-
Constructor Details
-
MongoDbChangeStreamMessageProducer
public MongoDbChangeStreamMessageProducer(org.springframework.data.mongodb.core.ReactiveMongoOperations mongoOperations)Create an instance based on the providedReactiveMongoOperations
.- Parameters:
mongoOperations
- theReactiveMongoOperations
to use.- See Also:
ReactiveMongoOperations.changeStream(String, ChangeStreamOptions, Class)
-
-
Method Details
-
setDomainType
public void setDomainType(java.lang.Class<?> domainType)Specify an object type to convert an event body to. Defaults toDocument
class.- Parameters:
domainType
- the class for event body conversion.- See Also:
ReactiveMongoOperations.changeStream(String, ChangeStreamOptions, Class)
-
setCollection
public void setCollection(java.lang.String collection)Specify a collection name to track change events from. By default tracks all the collection in themongoOperations
configured database.- Parameters:
collection
- a collection to use.- See Also:
ReactiveMongoOperations.changeStream(String, ChangeStreamOptions, Class)
-
setOptions
public void setOptions(org.springframework.data.mongodb.core.ChangeStreamOptions options)Specify aChangeStreamOptions
.- Parameters:
options
- theChangeStreamOptions
to use.- See Also:
ReactiveMongoOperations.changeStream(String, ChangeStreamOptions, Class)
-
setExtractBody
public void setExtractBody(boolean extractBody)Configure this channel adapter to build aMessage
to produce with a payload based on aChangeStreamEvent.getBody()
(by default) or use a wholeChangeStreamEvent
as a payload.- Parameters:
extractBody
- to extractChangeStreamEvent.getBody()
or not.
-
getComponentType
public java.lang.String getComponentType()- Specified by:
getComponentType
in interfaceorg.springframework.integration.support.context.NamedComponent
- Overrides:
getComponentType
in classorg.springframework.integration.context.IntegrationObjectSupport
-
doStart
protected void doStart()- Overrides:
doStart
in classorg.springframework.integration.endpoint.MessageProducerSupport
-