Package io.debezium.processors.reselect
Class ReselectColumnsPostProcessor
java.lang.Object
io.debezium.processors.reselect.ReselectColumnsPostProcessor
- All Implemented Interfaces:
BeanRegistryAware
,PostProcessor
,AutoCloseable
@Incubating
public class ReselectColumnsPostProcessor
extends Object
implements PostProcessor, BeanRegistryAware
An implementation of the Debezium
PostProcessor
contract that allows for the re-selection of
columns that are populated with the unavailable value placeholder or that the user wishes to have
re-queried with the latest state if the column's value happens to be null
.- Author:
- Chris Cranford
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
private static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Field
private JdbcConnection
private static final org.slf4j.Logger
private static final String
private static final String
private static final String
private static final String
private static final String
private boolean
private boolean
private boolean
private RelationalDatabaseSchema
private String
private ByteBuffer
private String
private ValueConverterProvider
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Apply the post processor to the supplied key and value.void
close()
Close any resourcesvoid
Configure the post processor.private Object
getConvertedValue
(Column column, org.apache.kafka.connect.data.Field field, Object value) getRequiredColumnSelections
(TableId tableId, org.apache.kafka.connect.data.Struct after) private TableId
getTableIdFromSource
(org.apache.kafka.connect.data.Struct source) void
injectBeanRegistry
(BeanRegistry beanRegistry) Callback to inject the bean registry.private boolean
isUnavailableArrayValueHolder
(org.apache.kafka.connect.data.Schema schema, Object value) private boolean
isUnavailableValueHolder
(org.apache.kafka.connect.data.Field field, Object value) private boolean
isUnavailableValueHolder
(org.apache.kafka.connect.data.Schema schema, Object value)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
RESELECT_COLUMNS_INCLUDE_LIST
- See Also:
-
RESELECT_COLUMNS_EXCLUDE_LIST
- See Also:
-
RESELECT_UNAVAILABLE_VALUES
- See Also:
-
RESELECT_NULL_VALUES
- See Also:
-
RESELECT_USE_EVENT_KEY
- See Also:
-
selector
-
reselectNullValues
private boolean reselectNullValues -
reselectUseEventKeyFields
private boolean reselectUseEventKeyFields -
jdbcConnection
-
valueConverterProvider
-
schema
-
connectorConfig
-
ERROR_HANDLING_MODE
-
errorHandlingMode
-
-
Constructor Details
-
ReselectColumnsPostProcessor
public ReselectColumnsPostProcessor()
-
-
Method Details
-
configure
Description copied from interface:PostProcessor
Configure the post processor.- Specified by:
configure
in interfacePostProcessor
- Parameters:
properties
- map of configurable properties
-
close
public void close()Description copied from interface:PostProcessor
Close any resources- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfacePostProcessor
-
apply
Description copied from interface:PostProcessor
Apply the post processor to the supplied key and value.- Specified by:
apply
in interfacePostProcessor
- Parameters:
messageKey
- the event's key, may benull
value
- the event's value, may benull
-
injectBeanRegistry
Description copied from interface:BeanRegistryAware
Callback to inject the bean registry.- Specified by:
injectBeanRegistry
in interfaceBeanRegistryAware
- Parameters:
beanRegistry
- the bean registry
-
getRequiredColumnSelections
-
getConvertedValue
-
getTableIdFromSource
-