public class LogMinerStreamingChangeEventSource extends Object implements io.debezium.pipeline.source.spi.StreamingChangeEventSource
StreamingChangeEventSource based on Oracle's LogMiner utility.
The event handler loop is executed in a separate executor.| Constructor and Description |
|---|
LogMinerStreamingChangeEventSource(OracleConnectorConfig connectorConfig,
OracleOffsetContext offsetContext,
OracleConnection jdbcConnection,
io.debezium.pipeline.EventDispatcher<io.debezium.relational.TableId> dispatcher,
io.debezium.pipeline.ErrorHandler errorHandler,
io.debezium.util.Clock clock,
OracleDatabaseSchema schema,
OracleTaskContext taskContext) |
| Modifier and Type | Method and Description |
|---|---|
private void |
abandonOldTransactionsIfExist(Connection connection) |
void |
commitOffset(Map<String,?> offset) |
void |
execute(io.debezium.pipeline.source.spi.ChangeEventSource.ChangeEventSourceContext context)
This is the loop to get changes from LogMiner
|
private void |
initializeRedoLogsForMining(Connection connection,
boolean postEndMiningSession,
Duration archiveLogRetention) |
private void |
pauseBetweenMiningSessions() |
private void |
registerLogMinerMetrics() |
private void |
registerTransactionalBuffer() |
private void |
unregisterLogMinerMetrics() |
private void |
unregisterTransactionalBuffer() |
private void |
updateStartScn() |
private static final org.slf4j.Logger LOGGER
private static final int LOG_MINING_VIEW_FETCH_SIZE
private final OracleConnection jdbcConnection
private final io.debezium.pipeline.EventDispatcher<io.debezium.relational.TableId> dispatcher
private final io.debezium.util.Clock clock
private final OracleDatabaseSchema schema
private final OracleOffsetContext offsetContext
private final SimpleDmlParser dmlParser
private final String catalogName
private final boolean isRac
private final io.debezium.jdbc.JdbcConfiguration jdbcConfiguration
private final OracleConnectorConfig.LogMiningStrategy strategy
private final OracleTaskContext taskContext
private final io.debezium.pipeline.ErrorHandler errorHandler
private final boolean isContinuousMining
private OracleConnectorConfig connectorConfig
private TransactionalBufferMetrics transactionalBufferMetrics
private LogMinerMetrics logMinerMetrics
private TransactionalBuffer transactionalBuffer
private long startScn
private long endScn
private Duration archiveLogRetention
public LogMinerStreamingChangeEventSource(OracleConnectorConfig connectorConfig, OracleOffsetContext offsetContext, OracleConnection jdbcConnection, io.debezium.pipeline.EventDispatcher<io.debezium.relational.TableId> dispatcher, io.debezium.pipeline.ErrorHandler errorHandler, io.debezium.util.Clock clock, OracleDatabaseSchema schema, OracleTaskContext taskContext)
public void execute(io.debezium.pipeline.source.spi.ChangeEventSource.ChangeEventSourceContext context)
execute in interface io.debezium.pipeline.source.spi.StreamingChangeEventSourcecontext - change event source contextprivate void registerTransactionalBuffer()
private void unregisterTransactionalBuffer()
private void registerLogMinerMetrics()
private void unregisterLogMinerMetrics()
private void abandonOldTransactionsIfExist(Connection connection)
private void updateStartScn()
private void initializeRedoLogsForMining(Connection connection, boolean postEndMiningSession, Duration archiveLogRetention) throws SQLException
SQLExceptionprivate void pauseBetweenMiningSessions()
throws InterruptedException
InterruptedExceptionCopyright © 2021 JBoss by Red Hat. All rights reserved.