com.amazon.redshift.replication.fluent.physical

## Class PhysicalStreamBuilder

- java.lang.Object
- - com.amazon.redshift.replication.fluent.AbstractStreamBuilder<ChainedPhysicalStreamBuilder>
  - - com.amazon.redshift.replication.fluent.physical.PhysicalStreamBuilder

All Implemented Interfaces:
  ChainedCommonStreamBuilder<ChainedPhysicalStreamBuilder>, CommonOptions, ChainedPhysicalStreamBuilder, PhysicalReplicationOptions

    public class PhysicalStreamBuilder
    extends AbstractStreamBuilder<ChainedPhysicalStreamBuilder>
    implements ChainedPhysicalStreamBuilder, PhysicalReplicationOptions

### Field Summary

### Fields inherited from class com.amazon.redshift.replication.fluent.AbstractStreamBuilder

`slotName, startPosition, statusIntervalMs`

### Constructor Summary

Constructors
Constructor and Description
`PhysicalStreamBuilder(StartPhysicalReplicationCallback startCallback)`

### Method Summary

Methods
`String` `getSlotName()` 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.
`LogSequenceNumber` `getStartLSNPosition()`
`int` `getStatusInterval()` Specifies the number of millisecond between status packets sent back to the server.
`protected ChainedPhysicalStreamBuilder` `self()`
`RedshiftReplicationStream` `start()` Open physical replication stream.

### Methods inherited from class com.amazon.redshift.replication.fluent.AbstractStreamBuilder

`withSlotName, withStartPosition, withStatusInterval`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface com.amazon.redshift.replication.fluent.ChainedCommonStreamBuilder

`withSlotName, withStartPosition, withStatusInterval`

### Constructor Detail

#### PhysicalStreamBuilder

    public PhysicalStreamBuilder(StartPhysicalReplicationCallback startCallback)

Parameters:
  `startCallback` - not null callback that should be execute after build parameters for start replication

### Method Detail

#### self

    protected ChainedPhysicalStreamBuilder self()

Specified by:
  `self` in class `AbstractStreamBuilder<ChainedPhysicalStreamBuilder>`

#### start

    public RedshiftReplicationStream start()
                                    throws SQLException

Description copied from interface: `ChainedPhysicalStreamBuilder`
Open physical replication stream.

Specified by:
  `start` in interface `ChainedPhysicalStreamBuilder`
Returns:
  not null RedshiftReplicationStream available for fetch wal logs in binary form
Throws:
  `SQLException` - on error

#### getSlotName

    public String getSlotName()

Description copied from interface: `CommonOptions`
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:
  `getSlotName` in interface `CommonOptions`
Returns:
  nullable replication slot name that already exists on server and free.

#### getStartLSNPosition

    public LogSequenceNumber getStartLSNPosition()

Specified by:
  `getStartLSNPosition` in interface `CommonOptions`
Returns:
  the position to start replication. This cannot be null.

#### getStatusInterval

    public int getStatusInterval()

Description copied from interface: `CommonOptions`
Specifies the number of millisecond 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:
  `getStatusInterval` in interface `CommonOptions`
Returns:
  the current status interval