Class AbstractStreamBuilder<T extends ChainedCommonStreamBuilder<T>>

java.lang.Object
org.postgresql.replication.fluent.AbstractStreamBuilder<T>
All Implemented Interfaces:
ChainedCommonStreamBuilder<T>
Direct Known Subclasses:
LogicalStreamBuilder, PhysicalStreamBuilder

public abstract class AbstractStreamBuilder<T extends ChainedCommonStreamBuilder<T>> extends Object implements ChainedCommonStreamBuilder<T>
  • Field Details

    • statusIntervalMs

      protected int statusIntervalMs
    • startPosition

      protected LogSequenceNumber startPosition
    • slotName

      protected @Nullable String slotName
  • Constructor Details

    • AbstractStreamBuilder

      public AbstractStreamBuilder()
  • Method Details

    • self

      protected abstract T self()
    • withStatusInterval

      public T withStatusInterval(int time, TimeUnit format)
      Description copied from interface: ChainedCommonStreamBuilder
      Specifies the number of time between status packets sent back to the server. This allows for easier monitoring of the progress from server. A value of zero disables the periodic status updates completely, although an update will still be sent when requested by the server, to avoid timeout disconnect. The default value is 10 seconds.
      Specified by:
      withStatusInterval in interface ChainedCommonStreamBuilder<T extends ChainedCommonStreamBuilder<T>>
      Parameters:
      time - positive time
      format - format for specified time
      Returns:
      not null fluent
    • withStartPosition

      public T withStartPosition(LogSequenceNumber lsn)
      Description copied from interface: ChainedCommonStreamBuilder
      Specify start position from which backend will start stream changes. If parameter will not specify, streaming starts from restart_lsn. For more details see pg_replication_slots description.
      Specified by:
      withStartPosition in interface ChainedCommonStreamBuilder<T extends ChainedCommonStreamBuilder<T>>
      Parameters:
      lsn - not null position from which need start replicate changes
      Returns:
      not null fluent
    • withSlotName

      public T withSlotName(String slotName)
      Description copied from interface: ChainedCommonStreamBuilder
      Replication slots provide an automated way to ensure that the master does not remove WAL segments until they have been received by all standbys, and that the master does not remove rows which could cause a recovery conflict even when the standby is disconnected.
      Specified by:
      withSlotName in interface ChainedCommonStreamBuilder<T extends ChainedCommonStreamBuilder<T>>
      Parameters:
      slotName - not null replication slot already exists on server.
      Returns:
      this instance as a fluent interface