Package io.debezium.server.pubsub
Class PubSubChangeConsumer
java.lang.Object
io.debezium.server.BaseChangeConsumer
io.debezium.server.pubsub.PubSubChangeConsumer
- All Implemented Interfaces:
io.debezium.engine.DebeziumEngine.ChangeConsumer<io.debezium.engine.ChangeEvent<Object,Object>>
@Named("pubsub")
@Dependent
public class PubSubChangeConsumer
extends BaseChangeConsumer
implements io.debezium.engine.DebeziumEngine.ChangeConsumer<io.debezium.engine.ChangeEvent<Object,Object>>
Implementation of the consumer that delivers the messages into Google Pub/Sub destination.
- Author:
- Jiri Pechanec
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate io.grpc.ManagedChannelprivate com.google.api.gax.rpc.TransportChannelProviderprivate com.google.api.gax.core.CredentialsProvider(package private) jakarta.enterprise.inject.Instance<PubSubChangeConsumer.PublisherBuilder>(package private) boolean(package private) Integer(package private) Integerprivate static final org.slf4j.Logger(package private) Long(package private) Long(package private) Integer(package private) Long(package private) Long(package private) Integer(package private) Long(package private) Integer(package private) String(package private) booleanprivate Stringprivate static final Stringprivate static final String(package private) Double(package private) DoubleFields inherited from class io.debezium.server.BaseChangeConsumer
streamNameMapper -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class io.debezium.server.BaseChangeConsumer
convertHeaders, getBytes, getConfigSubset, getString, unsupportedTypeMessage
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
PROP_PREFIX
- See Also:
-
PROP_PROJECT_ID
- See Also:
-
projectId
-
publishers
-
publisherBuilder
-
orderingEnabled
boolean orderingEnabled -
nullKey
String nullKey -
maxDelayThresholdMs
Integer maxDelayThresholdMs -
maxBufferSize
Long maxBufferSize -
maxBufferBytes
Long maxBufferBytes -
flowControlEnabled
boolean flowControlEnabled -
maxOutstandingMessages
Long maxOutstandingMessages -
maxOutstandingRequestBytes
Long maxOutstandingRequestBytes -
maxTotalTimeoutMs
Integer maxTotalTimeoutMs -
maxRequestTimeoutMs
Integer maxRequestTimeoutMs -
initialRetryDelay
Integer initialRetryDelay -
retryDelayMultiplier
Double retryDelayMultiplier -
maxRetryDelay
Long maxRetryDelay -
initialRpcTimeout
Integer initialRpcTimeout -
rpcTimeoutMultiplier
Double rpcTimeoutMultiplier -
address
-
customPublisherBuilder
@Inject @CustomConsumerBuilder jakarta.enterprise.inject.Instance<PubSubChangeConsumer.PublisherBuilder> customPublisherBuilder -
channel
private io.grpc.ManagedChannel channel -
channelProvider
private com.google.api.gax.rpc.TransportChannelProvider channelProvider -
credentialsProvider
private com.google.api.gax.core.CredentialsProvider credentialsProvider
-
-
Constructor Details
-
PubSubChangeConsumer
public PubSubChangeConsumer()
-
-
Method Details
-
connect
@PostConstruct void connect() -
close
@PreDestroy void close() -
handleBatch
public void handleBatch(List<io.debezium.engine.ChangeEvent<Object, Object>> records, io.debezium.engine.DebeziumEngine.RecordCommitter<io.debezium.engine.ChangeEvent<Object, throws InterruptedExceptionObject>> committer) - Specified by:
handleBatchin interfaceio.debezium.engine.DebeziumEngine.ChangeConsumer<io.debezium.engine.ChangeEvent<Object,Object>> - Throws:
InterruptedException
-
supportsTombstoneEvents
public boolean supportsTombstoneEvents()
-