Class RemoteInfinispanLogMinerEventProcessor
java.lang.Object
io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor<InfinispanTransaction>
io.debezium.connector.oracle.logminer.processor.infinispan.AbstractInfinispanLogMinerEventProcessor
io.debezium.connector.oracle.logminer.processor.infinispan.RemoteInfinispanLogMinerEventProcessor
- All Implemented Interfaces:
CacheProvider,LogMinerEventProcessor,AutoCloseable
public class RemoteInfinispanLogMinerEventProcessor
extends AbstractInfinispanLogMinerEventProcessor
implements CacheProvider
A concrete implementation of
AbstractInfinispanLogMinerEventProcessor that uses Infinispan with
the Hotrod client to store transaction and mined event data in caches.
The cache configurations are supplied via connector configurations and are expected to be valid XML
that represents parseable distributed cache setups for Infinispan.- Author:
- Chris Cranford
-
Nested Class Summary
Nested classes/interfaces inherited from class io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor
AbstractLogMinerEventProcessor.Counters -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.infinispan.client.hotrod.RemoteCacheManagerprivate final booleanprivate final org.infinispan.client.hotrod.RemoteCache<String,LogMinerEvent> private static final Stringprivate static final Stringstatic final Stringprivate static final org.slf4j.Loggerprivate final org.infinispan.client.hotrod.RemoteCache<String,InfinispanTransaction> Fields inherited from class io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor
countersFields inherited from interface io.debezium.connector.oracle.logminer.processor.infinispan.CacheProvider
EVENTS_CACHE_NAME, PROCESSED_TRANSACTIONS_CACHE_NAME, SCHEMA_CHANGES_CACHE_NAME, TRANSACTIONS_CACHE_NAME -
Constructor Summary
ConstructorsConstructorDescriptionRemoteInfinispanLogMinerEventProcessor(ChangeEventSource.ChangeEventSourceContext context, OracleConnectorConfig connectorConfig, OracleConnection jdbcConnection, EventDispatcher<OraclePartition, TableId> dispatcher, OraclePartition partition, OracleOffsetContext offsetContext, OracleDatabaseSchema schema, OracleStreamingChangeEventSourceMetrics metrics) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()private <C,V> org.infinispan.client.hotrod.RemoteCache<C, V> createCache(String cacheName, OracleConnectorConfig connectorConfig, Field field) org.infinispan.commons.api.BasicCache<String,LogMinerEvent> Get the LogMiner events cache Key - The event id, in the format oftransactionId-eventSequenceValue - The raw LogMinerEvent object instanceprivate PropertiesgetHotrodClientProperties(OracleConnectorConfig connectorConfig) Get the processed transactions cache Key - The unique transaction id Value - The transaction's commit or rollback system change numberGet the Schema Changes cache Key - The system change number of the schema change Value - The table the schema change is related toorg.infinispan.commons.api.BasicCache<String,InfinispanTransaction> Returns theTransactionCacheimplementation.protected ScnGets the minimum system change number stored in the transaction cache.Methods inherited from class io.debezium.connector.oracle.logminer.processor.infinispan.AbstractInfinispanLogMinerEventProcessor
abandonTransactions, addToTransaction, calculateNewStartScn, createQueryStatement, createTransaction, displayCacheStatistics, finalizeTransactionCommit, finalizeTransactionRollback, getAndRemoveTransactionFromCache, getTransactionEventCount, getTransactionEventIterator, handleSchemaChange, hasSchemaChangeBeenSeen, isRecentlyProcessed, processRow, removeEventWithRowId, removeTransactionAndEventsFromCache, resetTransactionToStartMethods inherited from class io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor
abandonTransactionOverEventThreshold, getConfig, getLastProcessedScn, getSchema, getTransactionIdPrefix, handleCommit, handleDataEvent, handleLobWrite, handleMissingScn, handleRollback, handleSelectLobLocator, handleStart, handleUnsupportedEvent, isTransactionIdWithNoSequence, isTransactionOverEventThreshold, isTransactionUserExcluded, isTrxIdRawValue, process, processResults, warnPotentiallyStuckScnMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.debezium.connector.oracle.logminer.processor.infinispan.CacheProvider
displayCacheStatistics
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
HOTROD_CLIENT_LOOKUP_PREFIX
- See Also:
-
HOTROD_CLIENT_PREFIX
- See Also:
-
HOTROD_SERVER_LIST
- See Also:
-
cacheManager
private final org.infinispan.client.hotrod.RemoteCacheManager cacheManager -
dropBufferOnStop
private final boolean dropBufferOnStop -
transactionCache
private final org.infinispan.client.hotrod.RemoteCache<String,InfinispanTransaction> transactionCache -
eventCache
-
processedTransactionsCache
-
schemaChangesCache
-
-
Constructor Details
-
RemoteInfinispanLogMinerEventProcessor
public RemoteInfinispanLogMinerEventProcessor(ChangeEventSource.ChangeEventSourceContext context, OracleConnectorConfig connectorConfig, OracleConnection jdbcConnection, EventDispatcher<OraclePartition, TableId> dispatcher, OraclePartition partition, OracleOffsetContext offsetContext, OracleDatabaseSchema schema, OracleStreamingChangeEventSourceMetrics metrics)
-
-
Method Details
-
close
- Specified by:
closein interfaceAutoCloseable- Throws:
Exception
-
getTransactionCache
Description copied from class:AbstractLogMinerEventProcessorReturns theTransactionCacheimplementation.- Specified by:
getTransactionCachein interfaceCacheProvider- Specified by:
getTransactionCachein classAbstractLogMinerEventProcessor<InfinispanTransaction>- Returns:
- the transaction cache, never
null
-
getEventCache
Description copied from interface:CacheProviderGet the LogMiner events cache- Key - The event id, in the format of
transactionId-eventSequence - Value - The raw LogMinerEvent object instance
- Specified by:
getEventCachein interfaceCacheProvider- Returns:
- the evnts cache, never
null
- Key - The event id, in the format of
-
getSchemaChangesCache
Description copied from interface:CacheProviderGet the Schema Changes cache- Key - The system change number of the schema change
- Value - The table the schema change is related to
- Specified by:
getSchemaChangesCachein interfaceCacheProvider- Returns:
- the schema changes cache, never
null
-
getProcessedTransactionsCache
Description copied from interface:CacheProviderGet the processed transactions cache- Key - The unique transaction id
- Value - The transaction's commit or rollback system change number
- Specified by:
getProcessedTransactionsCachein interfaceCacheProvider- Returns:
- the processed transactions cache, never
null
-
getTransactionCacheMinimumScn
Description copied from class:AbstractLogMinerEventProcessorGets the minimum system change number stored in the transaction cache.- Specified by:
getTransactionCacheMinimumScnin classAbstractLogMinerEventProcessor<InfinispanTransaction>- Returns:
- the minimum system change number, never
nullbut could beScn.NULL.
-
getHotrodClientProperties
-
createCache
private <C,V> org.infinispan.client.hotrod.RemoteCache<C,V> createCache(String cacheName, OracleConnectorConfig connectorConfig, Field field)
-