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 voiddoStart()java.lang.StringgetComponentType()voidsetCollection(java.lang.String collection)Specify a collection name to track change events from.voidsetDomainType(java.lang.Class<?> domainType)Specify an object type to convert an event body to.voidsetExtractBody(boolean extractBody)Configure this channel adapter to build aMessageto produce with a payload based on aChangeStreamEvent.getBody()(by default) or use a wholeChangeStreamEventas a payload.voidsetOptions(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, subscribeToPublisherMethods inherited from class org.springframework.integration.endpoint.AbstractEndpoint
destroy, doStop, getPhase, getRole, isActive, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stopMethods 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- theReactiveMongoOperationsto 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 toDocumentclass.- 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 themongoOperationsconfigured 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- theChangeStreamOptionsto use.- See Also:
ReactiveMongoOperations.changeStream(String, ChangeStreamOptions, Class)
-
setExtractBody
public void setExtractBody(boolean extractBody)Configure this channel adapter to build aMessageto produce with a payload based on aChangeStreamEvent.getBody()(by default) or use a wholeChangeStreamEventas a payload.- Parameters:
extractBody- to extractChangeStreamEvent.getBody()or not.
-
getComponentType
public java.lang.String getComponentType()- Specified by:
getComponentTypein interfaceorg.springframework.integration.support.context.NamedComponent- Overrides:
getComponentTypein classorg.springframework.integration.context.IntegrationObjectSupport
-
doStart
protected void doStart()- Overrides:
doStartin classorg.springframework.integration.endpoint.MessageProducerSupport
-