Class PgSubscriber


  • public class PgSubscriber
    extends Object
    A class for managing subscriptions using LISTEN/UNLISTEN to Postgres channels.

    The subscriber manages a single connection to Postgres.

    NOTE: This class has been automatically generated from the original non RX-ified interface using Vert.x codegen.

    • Constructor Detail

      • PgSubscriber

        public PgSubscriber​(PgSubscriber delegate)
      • PgSubscriber

        public PgSubscriber​(Object delegate)
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • subscriber

        public static PgSubscriber subscriber​(Vertx vertx,
                                              PgConnectOptions options)
        Create a subscriber.
        Parameters:
        vertx - the vertx instance
        options - the connect options
        Returns:
        the subscriber
      • channel

        public PgChannel channel​(String name)
        Return a channel for the given name.
        Parameters:
        name - the channel name

        This will be the name of the channel exactly as held by Postgres for sending notifications. Internally this name will be truncated to the Postgres identifier maxiumum length of (NAMEDATALEN = 64) - 1 == 63 characters, and prepared as a quoted identifier without unicode escape sequence support for use in LISTEN/UNLISTEN commands. Examples of channel names and corresponding NOTIFY commands:

        • when name == "the_channel": NOTIFY the_channel, 'msg', NOTIFY The_Channel, 'msg', or NOTIFY "the_channel", 'msg' succeed in delivering a message to the created channel
        • when name == "The_Channel": NOTIFY "The_Channel", 'msg', succeeds in delivering a message to the created channel
        Returns:
        the channel
      • connect

        public PgSubscriber connect​(Handler<AsyncResult<Void>> handler)
        Connect the subscriber to Postgres.
        Parameters:
        handler - the handler notified of the connection success or failure
        Returns:
        a reference to this, so the API can be used fluently
      • connect

        public PgSubscriber connect()
        Connect the subscriber to Postgres.
        Returns:
        a reference to this, so the API can be used fluently
      • rxConnect

        public io.reactivex.Completable rxConnect()
        Connect the subscriber to Postgres.
        Returns:
        a reference to this, so the API can be used fluently
      • reconnectPolicy

        public PgSubscriber reconnectPolicy​(Function<Integer,​Long> policy)
        Set the reconnect policy that is executed when the subscriber is disconnected.

        When the subscriber is disconnected, the policy function is called with the actual number of retries and returns an amountOfTime value:

        • when amountOfTime < 0: the subscriber is closed and there is no retry
        • when amountOfTime == 0: the subscriber retries to connect immediately
        • when amountOfTime > 0: the subscriber retries after amountOfTime milliseconds

        The default policy does not perform any retries.

        Parameters:
        policy - the policy to set
        Returns:
        a reference to this, so the API can be used fluently
      • closeHandler

        public PgSubscriber closeHandler​(Handler<Void> handler)
        Set an handler called when the subscriber is closed.
        Parameters:
        handler - the handler
        Returns:
        a reference to this, so the API can be used fluently
      • actualConnection

        public PgConnection actualConnection()
        Returns:
        the actual connection to Postgres, it might be null
      • closed

        public boolean closed()
        Returns:
        whether the subscriber is closed
      • close

        public void close​(Handler<AsyncResult<Void>> handler)
        Close the subscriber, the retry policy will not be invoked.
        Parameters:
        handler -
      • close

        public void close()
        Close the subscriber, the retry policy will not be invoked.
      • rxClose

        public io.reactivex.Completable rxClose()
        Close the subscriber, the retry policy will not be invoked.
        Returns: