Class DebeziumMessageProducer
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.endpoint.AbstractEndpoint
org.springframework.integration.endpoint.MessageProducerSupport
org.springframework.integration.debezium.inbound.DebeziumMessageProducer
- All Implemented Interfaces:
- Aware,- BeanFactoryAware,- BeanNameAware,- DisposableBean,- InitializingBean,- SmartInitializingSingleton,- ApplicationContextAware,- Lifecycle,- Phased,- SmartLifecycle,- ComponentSourceAware,- ExpressionCapable,- MessageProducer,- IntegrationPattern,- NamedComponent,- IntegrationInboundManagement,- IntegrationManagement,- ManageableLifecycle,- ManageableSmartLifecycle,- TrackableComponent
Debezium Change Event Channel Adapter.
- Since:
- 6.2
- Author:
- Christian Tzolov, 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 SummaryConstructorsConstructorDescriptionDebeziumMessageProducer(io.debezium.engine.DebeziumEngine.Builder<io.debezium.engine.ChangeEvent<byte[], byte[]>> debeziumBuilder) Create new Debezium message producer inbound channel adapter.
- 
Method SummaryModifier and TypeMethodDescriptionprotected voiddoStart()Take no action by default.protected voiddoStop()Take no action by default.Subclasses may implement this method to provide component type information.protected voidonInit()Subclasses may implement this for initialization logic.voidsetContentType(String contentType) Set the outbound message content type.voidsetEnableBatch(boolean enable) Enable theChangeEventbatch mode handling.voidsetEnableEmptyPayload(boolean enabled) Enable support for tombstone (aka delete) messages.voidsetHeaderMapper(HeaderMapper<List<io.debezium.engine.Header<Object>>> headerMapper) voidsetTaskExecutor(TaskExecutor taskExecutor) Set aTaskExecutorfor the Debezium engine task.Methods inherited from class org.springframework.integration.endpoint.MessageProducerSupportafterSingletonsInstantiated, buildErrorMessage, getErrorChannel, getErrorMessageAttributes, getErrorMessageStrategy, getIntegrationPatternType, getMessagingTemplate, getOutputChannel, getRequiredOutputChannel, isObserved, 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- 
DebeziumMessageProducerpublic DebeziumMessageProducer(io.debezium.engine.DebeziumEngine.Builder<io.debezium.engine.ChangeEvent<byte[], byte[]>> debeziumBuilder) Create new Debezium message producer inbound channel adapter.- Parameters:
- debeziumBuilder- - pre-configured Debezium Engine Builder instance.
 
 
- 
- 
Method Details- 
setEnableBatchpublic void setEnableBatch(boolean enable) Enable theChangeEventbatch mode handling. When enabled the channel adapter will send aListofChangeEvents as a payload in a single downstreamMessage. Such a batch payload is not serializable. By default, the batch mode is disabled, e.g. every inputChangeEventis converted into a single downstreamMessage.- Parameters:
- enable- set to true to enable the batch mode. Disabled by default.
 
- 
setEnableEmptyPayloadpublic void setEnableEmptyPayload(boolean enabled) Enable support for tombstone (aka delete) messages. On a database row delete, Debezium can send a tombstone change event that has the same key as the deleted row and a value ofOptional.empty(). This record is a marker for downstream processors. It indicates that log compaction can remove all records that have this key. When the tombstone functionality is enabled in the Debezium connector configuration you should enable the empty payload as well.- Parameters:
- enabled- set true to enable the empty payload. Disabled by default.
 
- 
setTaskExecutorSet aTaskExecutorfor the Debezium engine task.- Parameters:
- taskExecutor- the- TaskExecutorto use.
 
- 
setContentTypeSet the outbound message content type. Must be aligned with theSerializationFormatconfiguration used by the providedDebeziumEngine.
- 
setHeaderMapper- Parameters:
- headerMapper-- HeaderMapperimplementation to use. Defaults to- DefaultDebeziumHeaderMapper.
 
- 
getComponentTypeDescription copied from class:IntegrationObjectSupportSubclasses may implement this method to provide component type information.- Specified by:
- getComponentTypein interface- NamedComponent
- Overrides:
- getComponentTypein class- IntegrationObjectSupport
 
- 
onInitprotected void onInit()Description copied from class:IntegrationObjectSupportSubclasses may implement this for initialization logic.- Overrides:
- onInitin class- MessageProducerSupport
 
- 
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
 
- 
doStopprotected void doStop()Description copied from class:MessageProducerSupportTake no action by default. Subclasses may override this if they need lifecycle-managed behavior.- Overrides:
- doStopin class- MessageProducerSupport
 
 
-