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.| Modifier and Type | Field and Description |
|---|---|
private Duration |
archiveLogRetention |
private io.debezium.util.Clock |
clock |
private OracleConnectorConfig |
connectorConfig |
private io.debezium.pipeline.EventDispatcher<io.debezium.relational.TableId> |
dispatcher |
private long |
endScn |
private io.debezium.pipeline.ErrorHandler |
errorHandler |
private boolean |
isContinuousMining |
private boolean |
isRac |
private io.debezium.jdbc.JdbcConfiguration |
jdbcConfiguration |
private OracleConnection |
jdbcConnection |
private static org.slf4j.Logger |
LOGGER |
private LogMinerMetrics |
logMinerMetrics |
private OracleOffsetContext |
offsetContext |
private Set<String> |
racHosts |
private OracleDatabaseSchema |
schema |
private long |
startScn |
private OracleConnectorConfig.LogMiningStrategy |
strategy |
private OracleTaskContext |
taskContext |
| 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,
io.debezium.config.Configuration jdbcConfig) |
| Modifier and Type | Method and Description |
|---|---|
private void |
abandonOldTransactionsIfExist(OracleConnection connection,
TransactionalBuffer transactionalBuffer) |
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(OracleConnection connection,
boolean postEndMiningSession,
Duration archiveLogRetention) |
private void |
pauseBetweenMiningSessions() |
private void |
registerLogMinerMetrics() |
private void |
unregisterLogMinerMetrics() |
private static final org.slf4j.Logger LOGGER
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 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 LogMinerMetrics logMinerMetrics
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, io.debezium.config.Configuration jdbcConfig)
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 registerLogMinerMetrics()
private void unregisterLogMinerMetrics()
private void abandonOldTransactionsIfExist(OracleConnection connection, TransactionalBuffer transactionalBuffer)
private void initializeRedoLogsForMining(OracleConnection connection, boolean postEndMiningSession, Duration archiveLogRetention) throws SQLException
SQLExceptionprivate void pauseBetweenMiningSessions()
throws InterruptedException
InterruptedExceptionCopyright © 2021 JBoss by Red Hat. All rights reserved.