public class XstreamStreamingChangeEventSource extends Object implements io.debezium.pipeline.source.spi.StreamingChangeEventSource
StreamingChangeEventSource based on Oracle's XStream API. The XStream event handler loop is executed in a
separate executor.| Modifier and Type | Class and Description |
|---|---|
static class |
XstreamStreamingChangeEventSource.PositionAndScn |
| Modifier and Type | Field and Description |
|---|---|
private io.debezium.util.Clock |
clock |
private io.debezium.pipeline.EventDispatcher<io.debezium.relational.TableId> |
dispatcher |
private io.debezium.pipeline.ErrorHandler |
errorHandler |
private io.debezium.jdbc.JdbcConnection |
jdbcConnection |
private AtomicReference<XstreamStreamingChangeEventSource.PositionAndScn> |
lcrMessage
A message box between thread that is informed about committed offsets and the XStream thread.
|
private static org.slf4j.Logger |
LOGGER |
private OracleOffsetContext |
offsetContext |
private int |
posVersion |
private OracleDatabaseSchema |
schema |
private boolean |
tablenameCaseInsensitive |
private oracle.streams.XStreamOut |
xsOut |
private String |
xStreamServerName |
| Constructor and Description |
|---|
XstreamStreamingChangeEventSource(OracleConnectorConfig connectorConfig,
OracleOffsetContext offsetContext,
io.debezium.jdbc.JdbcConnection jdbcConnection,
io.debezium.pipeline.EventDispatcher<io.debezium.relational.TableId> dispatcher,
io.debezium.pipeline.ErrorHandler errorHandler,
io.debezium.util.Clock clock,
OracleDatabaseSchema schema) |
| Modifier and Type | Method and Description |
|---|---|
void |
commitOffset(Map<String,?> offset) |
private byte[] |
convertScnToPosition(long scn) |
void |
execute(io.debezium.pipeline.source.spi.ChangeEventSource.ChangeEventSourceContext context) |
(package private) oracle.streams.XStreamOut |
getXsOut() |
(package private) XstreamStreamingChangeEventSource.PositionAndScn |
receivePublishedPosition() |
private void |
sendPublishedPosition(LcrPosition lcrPosition,
Long scn) |
private static final org.slf4j.Logger LOGGER
private final io.debezium.jdbc.JdbcConnection jdbcConnection
private final io.debezium.pipeline.EventDispatcher<io.debezium.relational.TableId> dispatcher
private final io.debezium.pipeline.ErrorHandler errorHandler
private final io.debezium.util.Clock clock
private final OracleDatabaseSchema schema
private final OracleOffsetContext offsetContext
private final String xStreamServerName
private volatile oracle.streams.XStreamOut xsOut
private final boolean tablenameCaseInsensitive
private final int posVersion
private final AtomicReference<XstreamStreamingChangeEventSource.PositionAndScn> lcrMessage
public XstreamStreamingChangeEventSource(OracleConnectorConfig connectorConfig, OracleOffsetContext offsetContext, io.debezium.jdbc.JdbcConnection jdbcConnection, io.debezium.pipeline.EventDispatcher<io.debezium.relational.TableId> dispatcher, io.debezium.pipeline.ErrorHandler errorHandler, io.debezium.util.Clock clock, OracleDatabaseSchema schema)
public void execute(io.debezium.pipeline.source.spi.ChangeEventSource.ChangeEventSourceContext context)
throws InterruptedException
execute in interface io.debezium.pipeline.source.spi.StreamingChangeEventSourceInterruptedExceptionpublic void commitOffset(Map<String,?> offset)
commitOffset in interface io.debezium.pipeline.source.spi.StreamingChangeEventSourceprivate byte[] convertScnToPosition(long scn)
oracle.streams.XStreamOut getXsOut()
private void sendPublishedPosition(LcrPosition lcrPosition, Long scn)
XstreamStreamingChangeEventSource.PositionAndScn receivePublishedPosition()
Copyright © 2021 JBoss by Red Hat. All rights reserved.