Package io.debezium.server.pubsub
Class PubSubChangeConsumer
- java.lang.Object
-
- io.debezium.server.BaseChangeConsumer
-
- io.debezium.server.pubsub.PubSubChangeConsumer
-
- All Implemented Interfaces:
DebeziumEngine.ChangeConsumer<ChangeEvent<Object,Object>>
@Named("pubsub") @Dependent public class PubSubChangeConsumer extends BaseChangeConsumer implements DebeziumEngine.ChangeConsumer<ChangeEvent<Object,Object>>Implementation of the consumer that delivers the messages into Google Pub/Sub destination.- Author:
- Jiri Pechanec
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfacePubSubChangeConsumer.PublisherBuilder
-
Field Summary
Fields Modifier and Type Field Description (package private) javax.enterprise.inject.Instance<PubSubChangeConsumer.PublisherBuilder>customPublisherBuilderprivate static org.slf4j.LoggerLOGGER(package private) StringnullKey(package private) booleanorderingEnabledprivate StringprojectIdprivate static StringPROP_PREFIXprivate static StringPROP_PROJECT_IDprivate PubSubChangeConsumer.PublisherBuilderpublisherBuilderprivate Map<String,com.google.cloud.pubsub.v1.Publisher>publishers-
Fields inherited from class io.debezium.server.BaseChangeConsumer
streamNameMapper
-
-
Constructor Summary
Constructors Constructor Description PubSubChangeConsumer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidclose()(package private) voidconnect()voidhandleBatch(List<ChangeEvent<Object,Object>> records, DebeziumEngine.RecordCommitter<ChangeEvent<Object,Object>> committer)booleansupportsTombstoneEvents()-
Methods inherited from class io.debezium.server.BaseChangeConsumer
getBytes, getConfigSubset, getString, unsupportedTypeMessage
-
-
-
-
Field Detail
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
PROP_PREFIX
private static final String PROP_PREFIX
- See Also:
- Constant Field Values
-
PROP_PROJECT_ID
private static final String PROP_PROJECT_ID
- See Also:
- Constant Field Values
-
projectId
private String projectId
-
publisherBuilder
private PubSubChangeConsumer.PublisherBuilder publisherBuilder
-
orderingEnabled
boolean orderingEnabled
-
nullKey
String nullKey
-
customPublisherBuilder
@Inject @CustomConsumerBuilder javax.enterprise.inject.Instance<PubSubChangeConsumer.PublisherBuilder> customPublisherBuilder
-
-
Method Detail
-
connect
@PostConstruct void connect()
-
close
@PreDestroy void close()
-
handleBatch
public void handleBatch(List<ChangeEvent<Object,Object>> records, DebeziumEngine.RecordCommitter<ChangeEvent<Object,Object>> committer) throws InterruptedException
- Specified by:
handleBatchin interfaceDebeziumEngine.ChangeConsumer<ChangeEvent<Object,Object>>- Throws:
InterruptedException
-
supportsTombstoneEvents
public boolean supportsTombstoneEvents()
- Specified by:
supportsTombstoneEventsin interfaceDebeziumEngine.ChangeConsumer<ChangeEvent<Object,Object>>
-
-