Package io.debezium.connector.mongodb
Class MongoDbChangeStreamChangeRecordEmitter
- java.lang.Object
-
- io.debezium.pipeline.AbstractChangeRecordEmitter<MongoDbCollectionSchema>
-
- io.debezium.connector.mongodb.MongoDbChangeStreamChangeRecordEmitter
-
- All Implemented Interfaces:
ChangeRecordEmitter
public class MongoDbChangeStreamChangeRecordEmitter extends AbstractChangeRecordEmitter<MongoDbCollectionSchema>
Emits change data based on a change stream change.- Author:
- Jiri Pechanec
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface io.debezium.pipeline.spi.ChangeRecordEmitter
ChangeRecordEmitter.Receiver
-
-
Field Summary
Fields Modifier and Type Field Description private com.mongodb.client.model.changestream.ChangeStreamDocument<org.bson.Document>changeStreamEventprivate static Map<com.mongodb.client.model.changestream.OperationType,Envelope.Operation>OPERATION_LITERALS
-
Constructor Summary
Constructors Constructor Description MongoDbChangeStreamChangeRecordEmitter(Partition partition, OffsetContext offsetContext, Clock clock, com.mongodb.client.model.changestream.ChangeStreamDocument<org.bson.Document> changeStreamEvent)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidcreateAndEmitChangeRecord(ChangeRecordEmitter.Receiver receiver, MongoDbCollectionSchema schema)protected voidemitCreateRecord(ChangeRecordEmitter.Receiver receiver, MongoDbCollectionSchema schema)protected voidemitDeleteRecord(ChangeRecordEmitter.Receiver receiver, MongoDbCollectionSchema schema)protected voidemitReadRecord(ChangeRecordEmitter.Receiver receiver, MongoDbCollectionSchema schema)protected voidemitUpdateRecord(ChangeRecordEmitter.Receiver receiver, MongoDbCollectionSchema schema)protected Envelope.OperationgetOperation()static booleanisValidOperation(String operation)-
Methods inherited from class io.debezium.pipeline.AbstractChangeRecordEmitter
emitChangeRecords, getClock, getOffset, getPartition
-
-
-
-
Field Detail
-
changeStreamEvent
private final com.mongodb.client.model.changestream.ChangeStreamDocument<org.bson.Document> changeStreamEvent
-
OPERATION_LITERALS
@Immutable private static final Map<com.mongodb.client.model.changestream.OperationType,Envelope.Operation> OPERATION_LITERALS
-
-
Constructor Detail
-
MongoDbChangeStreamChangeRecordEmitter
public MongoDbChangeStreamChangeRecordEmitter(Partition partition, OffsetContext offsetContext, Clock clock, com.mongodb.client.model.changestream.ChangeStreamDocument<org.bson.Document> changeStreamEvent)
-
-
Method Detail
-
getOperation
protected Envelope.Operation getOperation()
- Specified by:
getOperationin classAbstractChangeRecordEmitter<MongoDbCollectionSchema>
-
emitReadRecord
protected void emitReadRecord(ChangeRecordEmitter.Receiver receiver, MongoDbCollectionSchema schema) throws InterruptedException
- Specified by:
emitReadRecordin classAbstractChangeRecordEmitter<MongoDbCollectionSchema>- Throws:
InterruptedException
-
emitCreateRecord
protected void emitCreateRecord(ChangeRecordEmitter.Receiver receiver, MongoDbCollectionSchema schema) throws InterruptedException
- Specified by:
emitCreateRecordin classAbstractChangeRecordEmitter<MongoDbCollectionSchema>- Throws:
InterruptedException
-
emitUpdateRecord
protected void emitUpdateRecord(ChangeRecordEmitter.Receiver receiver, MongoDbCollectionSchema schema) throws InterruptedException
- Specified by:
emitUpdateRecordin classAbstractChangeRecordEmitter<MongoDbCollectionSchema>- Throws:
InterruptedException
-
emitDeleteRecord
protected void emitDeleteRecord(ChangeRecordEmitter.Receiver receiver, MongoDbCollectionSchema schema) throws InterruptedException
- Specified by:
emitDeleteRecordin classAbstractChangeRecordEmitter<MongoDbCollectionSchema>- Throws:
InterruptedException
-
createAndEmitChangeRecord
private void createAndEmitChangeRecord(ChangeRecordEmitter.Receiver receiver, MongoDbCollectionSchema schema) throws InterruptedException
- Throws:
InterruptedException
-
isValidOperation
public static boolean isValidOperation(String operation)
-
-