Class TransactionMetaStoreHandler

  • All Implemented Interfaces:
    io.netty.util.TimerTask, java.io.Closeable, java.lang.AutoCloseable

    public class TransactionMetaStoreHandler
    extends java.lang.Object
    implements java.io.Closeable, io.netty.util.TimerTask
    Handler for transaction meta store.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected PulsarClientImpl client  
      protected io.netty.util.Timer timer  
      protected java.lang.String topic  
    • Constructor Summary

      Constructors 
      Constructor Description
      TransactionMetaStoreHandler​(long transactionCoordinatorId, PulsarClientImpl pulsarClient, java.lang.String topic, java.util.concurrent.CompletableFuture<java.lang.Void> connectFuture)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.concurrent.CompletableFuture<java.lang.Void> addPublishPartitionToTxnAsync​(org.apache.pulsar.client.api.transaction.TxnID txnID, java.util.List<java.lang.String> partitions)  
      java.util.concurrent.CompletableFuture<java.lang.Void> addSubscriptionToTxn​(org.apache.pulsar.client.api.transaction.TxnID txnID, java.util.List<org.apache.pulsar.common.api.proto.Subscription> subscriptionList)  
      protected boolean changeToConnecting()  
      protected boolean changeToReadyState()  
      protected boolean changeToRegisteringSchemaState()  
      void close()  
      void connectionFailed​(org.apache.pulsar.client.api.PulsarClientException exception)  
      void connectionOpened​(ClientCnx cnx)  
      java.util.concurrent.CompletableFuture<java.lang.Void> endTxnAsync​(org.apache.pulsar.client.api.transaction.TxnID txnID, org.apache.pulsar.common.api.proto.TxnAction action)  
      protected org.apache.pulsar.client.impl.HandlerState.State getAndUpdateState​(java.util.function.UnaryOperator<org.apache.pulsar.client.impl.HandlerState.State> updater)  
      PulsarClientImpl getClient()  
      org.apache.pulsar.client.impl.HandlerState.State getConnectHandleState()  
      static org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException getExceptionByServerError​(org.apache.pulsar.common.api.proto.ServerError serverError, java.lang.String msg)  
      java.lang.String getHandlerName()  
      protected org.apache.pulsar.client.impl.HandlerState.State getState()  
      void handleAddSubscriptionToTxnResponse​(org.apache.pulsar.common.api.proto.CommandAddSubscriptionToTxnResponse response)  
      java.util.concurrent.CompletableFuture<org.apache.pulsar.client.api.transaction.TxnID> newTransactionAsync​(long timeout, java.util.concurrent.TimeUnit unit)  
      void run​(io.netty.util.Timeout timeout)  
      protected void setState​(org.apache.pulsar.client.impl.HandlerState.State s)  
      void start()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • timer

        protected final io.netty.util.Timer timer
      • topic

        protected final java.lang.String topic
    • Constructor Detail

      • TransactionMetaStoreHandler

        public TransactionMetaStoreHandler​(long transactionCoordinatorId,
                                           PulsarClientImpl pulsarClient,
                                           java.lang.String topic,
                                           java.util.concurrent.CompletableFuture<java.lang.Void> connectFuture)
    • Method Detail

      • start

        public void start()
      • connectionFailed

        public void connectionFailed​(org.apache.pulsar.client.api.PulsarClientException exception)
      • connectionOpened

        public void connectionOpened​(ClientCnx cnx)
      • newTransactionAsync

        public java.util.concurrent.CompletableFuture<org.apache.pulsar.client.api.transaction.TxnID> newTransactionAsync​(long timeout,
                                                                                                                          java.util.concurrent.TimeUnit unit)
      • addPublishPartitionToTxnAsync

        public java.util.concurrent.CompletableFuture<java.lang.Void> addPublishPartitionToTxnAsync​(org.apache.pulsar.client.api.transaction.TxnID txnID,
                                                                                                    java.util.List<java.lang.String> partitions)
      • addSubscriptionToTxn

        public java.util.concurrent.CompletableFuture<java.lang.Void> addSubscriptionToTxn​(org.apache.pulsar.client.api.transaction.TxnID txnID,
                                                                                           java.util.List<org.apache.pulsar.common.api.proto.Subscription> subscriptionList)
      • handleAddSubscriptionToTxnResponse

        public void handleAddSubscriptionToTxnResponse​(org.apache.pulsar.common.api.proto.CommandAddSubscriptionToTxnResponse response)
      • endTxnAsync

        public java.util.concurrent.CompletableFuture<java.lang.Void> endTxnAsync​(org.apache.pulsar.client.api.transaction.TxnID txnID,
                                                                                  org.apache.pulsar.common.api.proto.TxnAction action)
      • getExceptionByServerError

        public static org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException getExceptionByServerError​(org.apache.pulsar.common.api.proto.ServerError serverError,
                                                                                                                               java.lang.String msg)
      • run

        public void run​(io.netty.util.Timeout timeout)
                 throws java.lang.Exception
        Specified by:
        run in interface io.netty.util.TimerTask
        Throws:
        java.lang.Exception
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException
      • getConnectHandleState

        public org.apache.pulsar.client.impl.HandlerState.State getConnectHandleState()
      • getHandlerName

        public java.lang.String getHandlerName()
      • changeToReadyState

        protected boolean changeToReadyState()
      • changeToRegisteringSchemaState

        protected boolean changeToRegisteringSchemaState()
      • getState

        protected org.apache.pulsar.client.impl.HandlerState.State getState()
      • changeToConnecting

        protected boolean changeToConnecting()
      • setState

        protected void setState​(org.apache.pulsar.client.impl.HandlerState.State s)
      • getAndUpdateState

        protected org.apache.pulsar.client.impl.HandlerState.State getAndUpdateState​(java.util.function.UnaryOperator<org.apache.pulsar.client.impl.HandlerState.State> updater)