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:
- Aware,- BeanFactoryAware,- BeanNameAware,- DisposableBean,- InitializingBean,- SmartInitializingSingleton,- ApplicationContextAware,- Lifecycle,- Phased,- SmartLifecycle,- ComponentSourceAware,- ExpressionCapable,- MessageProducer,- IntegrationPattern,- NamedComponent,- IntegrationInboundManagement,- IntegrationManagement,- ManageableLifecycle,- ManageableSmartLifecycle,- TrackableComponent
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
- Author:
- Artem Bilan
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagementIntegrationManagement.ManagementOverrides
- 
Field SummaryFields inherited from class org.springframework.integration.endpoint.AbstractEndpointlifecycleLockFields inherited from class org.springframework.integration.context.IntegrationObjectSupportEXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagementMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.context.SmartLifecycleDEFAULT_PHASE
- 
Constructor SummaryConstructorsConstructorDescriptionMongoDbChangeStreamMessageProducer(ReactiveMongoOperations mongoOperations) Create an instance based on the providedReactiveMongoOperations.
- 
Method SummaryModifier and TypeMethodDescriptionprotected voiddoStart()Take no action by default.Subclasses may implement this method to provide component type information.voidsetCollection(String collection) Specify a collection name to track change events from.voidsetDomainType(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(ChangeStreamOptions options) Specify aChangeStreamOptions.Methods inherited from class org.springframework.integration.endpoint.MessageProducerSupportafterSingletonsInstantiated, buildErrorMessage, doStop, getErrorChannel, getErrorMessageAttributes, getErrorMessageStrategy, getIntegrationPatternType, getMessagingTemplate, getOutputChannel, getRequiredOutputChannel, isObserved, onInit, registerObservationRegistry, sendErrorMessageIfNecessary, sendMessage, setErrorChannel, setErrorChannelName, setErrorMessageStrategy, setObservationConvention, setOutputChannel, setOutputChannelName, setSendTimeout, setShouldTrack, subscribeToPublisherMethods inherited from class org.springframework.integration.endpoint.AbstractEndpointdestroy, doStop, getPhase, getRole, isActive, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stopMethods inherited from class org.springframework.integration.context.IntegrationObjectSupportafterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.integration.support.management.IntegrationManagementdestroy, getManagedName, getManagedType, getOverrides, getThisAs, isLoggingEnabled, registerMetricsCaptor, setLoggingEnabled, setManagedName, setManagedTypeMethods inherited from interface org.springframework.integration.support.context.NamedComponentgetBeanName, getComponentName
- 
Constructor Details- 
MongoDbChangeStreamMessageProducerCreate an instance based on the providedReactiveMongoOperations.- Parameters:
- mongoOperations- the- ReactiveMongoOperationsto use.
- See Also:
 
 
- 
- 
Method Details- 
setDomainTypeSpecify an object type to convert an event body to. Defaults toDocumentclass.- Parameters:
- domainType- the class for event body conversion.
- See Also:
 
- 
setCollectionSpecify 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:
 
- 
setOptionsSpecify aChangeStreamOptions.- Parameters:
- options- the- ChangeStreamOptionsto use.
- See Also:
 
- 
setExtractBodypublic 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 extract- ChangeStreamEvent.getBody()or not.
 
- 
getComponentTypeDescription copied from class:IntegrationObjectSupportSubclasses may implement this method to provide component type information.- Specified by:
- getComponentTypein interface- NamedComponent
- Overrides:
- getComponentTypein class- IntegrationObjectSupport
 
- 
doStartprotected void doStart()Description copied from class:MessageProducerSupportTake no action by default. Subclasses may override this if they need lifecycle-managed behavior. Protected by 'lifecycleLock'.- Overrides:
- doStartin class- MessageProducerSupport
 
 
-