Class TransactionImpl

java.lang.Object
org.apache.pulsar.client.impl.transaction.TransactionImpl
All Implemented Interfaces:
io.netty.util.TimerTask, Transaction

public class TransactionImpl extends Object implements Transaction, io.netty.util.TimerTask
The default implementation of 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.