public class TransactionImpl extends Object implements Transaction
Transaction.
All the error handling and retry logic are handled by this class. The original pulsar client doesn't handle any transaction logic. It is only responsible for sending the messages and acknowledgements carrying the transaction id and retrying on failures. This decouples the transactional operations from non-transactional operations as much as possible.
| Modifier and Type | Class and Description |
|---|---|
static class |
TransactionImpl.State |
| Modifier and Type | Method and Description |
|---|---|
CompletableFuture<Void> |
abort() |
CompletableFuture<Void> |
commit() |
TxnID |
getTxnID() |
CompletableFuture<Void> |
registerAckedTopic(String topic,
String subscription) |
void |
registerAckOp(CompletableFuture<Void> ackFuture) |
void |
registerCumulativeAckConsumer(ConsumerImpl<?> consumer) |
CompletableFuture<Void> |
registerProducedTopic(String topic) |
void |
registerSendOp(CompletableFuture<MessageId> sendFuture) |
public CompletableFuture<Void> registerProducedTopic(String topic)
public void registerSendOp(CompletableFuture<MessageId> sendFuture)
public CompletableFuture<Void> registerAckedTopic(String topic, String subscription)
public void registerAckOp(CompletableFuture<Void> ackFuture)
public void registerCumulativeAckConsumer(ConsumerImpl<?> consumer)
public CompletableFuture<Void> commit()
commit in interface Transactionpublic CompletableFuture<Void> abort()
abort in interface Transactionpublic TxnID getTxnID()
getTxnID in interface TransactionCopyright © 2017–2021 Apache Software Foundation. All rights reserved.