Class LcrEventHandler
java.lang.Object
io.debezium.connector.oracle.xstream.LcrEventHandler
- All Implemented Interfaces:
oracle.streams.XStreamLCRCallbackHandler
Handler for Oracle DDL and DML events. Just forwards events to the
EventDispatcher.- Author:
- Gunnar Morling
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Clockprivate final Map<String,ChunkColumnValues> private final OracleConnectorConfigprivate oracle.streams.RowLCRprivate final EventDispatcher<OraclePartition,TableId> private final ErrorHandlerprivate final XstreamStreamingChangeEventSourceprivate static final org.slf4j.Loggerprivate final OracleOffsetContextprivate final OraclePartitionprivate final OracleDatabaseSchemaprivate final XStreamStreamingChangeEventSourceMetricsprivate final boolean -
Constructor Summary
ConstructorsConstructorDescriptionLcrEventHandler(OracleConnectorConfig connectorConfig, ErrorHandler errorHandler, EventDispatcher<OraclePartition, TableId> dispatcher, Clock clock, OracleDatabaseSchema schema, OraclePartition partition, OracleOffsetContext offsetContext, boolean tablenameCaseInsensitive, XstreamStreamingChangeEventSource eventSource, XStreamStreamingChangeEventSourceMetrics streamingMetrics) -
Method Summary
Modifier and TypeMethodDescriptionoracle.streams.ChunkColumnValueoracle.streams.LCRprivate voiddispatchDataChangeEvent(oracle.streams.RowLCR lcr, Map<String, Object> chunkValues) private voiddispatchSchemaChangeEvent(oracle.streams.DDLLCR ddlLcr) private TableIdgetTableId(oracle.streams.LCR lcr) private StringgetTableMetadataDdl(TableId tableId) voidprocessChunk(oracle.streams.ChunkColumnValue chunk) voidprocessLCR(oracle.streams.LCR lcr) private voidprocessRowLCR(oracle.streams.RowLCR row) private voidprocessTruncateEvent(oracle.streams.DDLLCR ddlLcr) private voidprivate void
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
connectorConfig
-
errorHandler
-
dispatcher
-
clock
-
schema
-
partition
-
offsetContext
-
tablenameCaseInsensitive
private final boolean tablenameCaseInsensitive -
eventSource
-
streamingMetrics
-
columnChunks
-
currentRow
private oracle.streams.RowLCR currentRow
-
-
Constructor Details
-
LcrEventHandler
LcrEventHandler(OracleConnectorConfig connectorConfig, ErrorHandler errorHandler, EventDispatcher<OraclePartition, TableId> dispatcher, Clock clock, OracleDatabaseSchema schema, OraclePartition partition, OracleOffsetContext offsetContext, boolean tablenameCaseInsensitive, XstreamStreamingChangeEventSource eventSource, XStreamStreamingChangeEventSourceMetrics streamingMetrics)
-
-
Method Details
-
processLCR
public void processLCR(oracle.streams.LCR lcr) throws oracle.streams.StreamsException - Specified by:
processLCRin interfaceoracle.streams.XStreamLCRCallbackHandler- Throws:
oracle.streams.StreamsException
-
processRowLCR
- Throws:
InterruptedException
-
dispatchDataChangeEvent
private void dispatchDataChangeEvent(oracle.streams.RowLCR lcr, Map<String, Object> chunkValues) throws InterruptedException- Throws:
InterruptedException
-
dispatchSchemaChangeEvent
- Throws:
InterruptedException
-
processTruncateEvent
private void processTruncateEvent(oracle.streams.DDLLCR ddlLcr) -
getTableId
-
getTableMetadataDdl
private String getTableMetadataDdl(TableId tableId) throws OracleConnection.NonRelationalTableException -
setWatermark
private void setWatermark() -
processChunk
public void processChunk(oracle.streams.ChunkColumnValue chunk) throws oracle.streams.StreamsException - Specified by:
processChunkin interfaceoracle.streams.XStreamLCRCallbackHandler- Throws:
oracle.streams.StreamsException
-
createLCR
public oracle.streams.LCR createLCR() throws oracle.streams.StreamsException- Specified by:
createLCRin interfaceoracle.streams.XStreamLCRCallbackHandler- Throws:
oracle.streams.StreamsException
-
createChunk
public oracle.streams.ChunkColumnValue createChunk() throws oracle.streams.StreamsException- Specified by:
createChunkin interfaceoracle.streams.XStreamLCRCallbackHandler- Throws:
oracle.streams.StreamsException
-
resolveAndDispatchCurrentChunkedRow
private void resolveAndDispatchCurrentChunkedRow()
-