Class LcrEventHandler
- java.lang.Object
-
- io.debezium.connector.oracle.xstream.LcrEventHandler
-
- All Implemented Interfaces:
oracle.streams.XStreamLCRCallbackHandler
class LcrEventHandler extends Object implements oracle.streams.XStreamLCRCallbackHandler
Handler for Oracle DDL and DML events. Just forwards events to theEventDispatcher.- Author:
- Gunnar Morling
-
-
Field Summary
Fields Modifier and Type Field Description private Clockclockprivate Map<String,ChunkColumnValues>columnChunksprivate OracleConnectorConfigconnectorConfigprivate oracle.streams.RowLCRcurrentRowprivate EventDispatcher<TableId>dispatcherprivate ErrorHandlererrorHandlerprivate XstreamStreamingChangeEventSourceeventSourceprivate static org.slf4j.LoggerLOGGERprivate OracleOffsetContextoffsetContextprivate OracleDatabaseSchemaschemaprivate OracleStreamingChangeEventSourceMetricsstreamingMetricsprivate booleantablenameCaseInsensitive
-
Constructor Summary
Constructors Constructor Description LcrEventHandler(OracleConnectorConfig connectorConfig, ErrorHandler errorHandler, EventDispatcher<TableId> dispatcher, Clock clock, OracleDatabaseSchema schema, OracleOffsetContext offsetContext, boolean tablenameCaseInsensitive, XstreamStreamingChangeEventSource eventSource, OracleStreamingChangeEventSourceMetrics streamingMetrics)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description oracle.streams.ChunkColumnValuecreateChunk()oracle.streams.LCRcreateLCR()private 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 voidsetWatermark()
-
-
-
Field Detail
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
connectorConfig
private final OracleConnectorConfig connectorConfig
-
errorHandler
private final ErrorHandler errorHandler
-
dispatcher
private final EventDispatcher<TableId> dispatcher
-
clock
private final Clock clock
-
schema
private final OracleDatabaseSchema schema
-
offsetContext
private final OracleOffsetContext offsetContext
-
tablenameCaseInsensitive
private final boolean tablenameCaseInsensitive
-
eventSource
private final XstreamStreamingChangeEventSource eventSource
-
streamingMetrics
private final OracleStreamingChangeEventSourceMetrics streamingMetrics
-
columnChunks
private final Map<String,ChunkColumnValues> columnChunks
-
currentRow
private oracle.streams.RowLCR currentRow
-
-
Constructor Detail
-
LcrEventHandler
public LcrEventHandler(OracleConnectorConfig connectorConfig, ErrorHandler errorHandler, EventDispatcher<TableId> dispatcher, Clock clock, OracleDatabaseSchema schema, OracleOffsetContext offsetContext, boolean tablenameCaseInsensitive, XstreamStreamingChangeEventSource eventSource, OracleStreamingChangeEventSourceMetrics streamingMetrics)
-
-
Method Detail
-
processLCR
public void processLCR(oracle.streams.LCR lcr) throws oracle.streams.StreamsException- Specified by:
processLCRin interfaceoracle.streams.XStreamLCRCallbackHandler- Throws:
oracle.streams.StreamsException
-
processRowLCR
private void processRowLCR(oracle.streams.RowLCR row) throws InterruptedException- Throws:
InterruptedException
-
dispatchDataChangeEvent
private void dispatchDataChangeEvent(oracle.streams.RowLCR lcr, Map<String,Object> chunkValues) throws InterruptedException- Throws:
InterruptedException
-
dispatchSchemaChangeEvent
private void dispatchSchemaChangeEvent(oracle.streams.DDLLCR ddlLcr) throws InterruptedException- Throws:
InterruptedException
-
getTableId
private TableId getTableId(oracle.streams.LCR lcr)
-
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
-
-