public static class NoSQLSubscriptionConfig.Builder extends Object
Constructor and Description |
---|
Builder(String ckptTableName)
Makes a builder for NoSQLSubscriptionConfig with required parameter
|
Modifier and Type | Method and Description |
---|---|
NoSQLSubscriptionConfig |
build()
Builds a NoSQLSubscriptionConfig instance from builder
|
NoSQLSubscriptionConfig.Builder |
setCreateNewCheckpointTable(boolean allow)
Sets if publisher is allowed to create a new checkpoint table if
it does not exist.
|
NoSQLSubscriptionConfig.Builder |
setStartStreamPosition(StreamPosition position)
Sets the start stream position.
|
NoSQLSubscriptionConfig.Builder |
setStreamMode(NoSQLStreamMode mode)
Sets the stream mode.
|
NoSQLSubscriptionConfig.Builder |
setSubscribedTables(Set<String> tables)
Sets the subscribed tables.
|
NoSQLSubscriptionConfig.Builder |
setSubscribedTables(String... tables)
Sets the subscribed tables.
|
NoSQLSubscriptionConfig.Builder |
setSubscriberId(NoSQLSubscriberId id)
Sets the subscriber id which owns the subscription.
|
public Builder(String ckptTableName)
ckptTableName
- name of checkpoint tablepublic NoSQLSubscriptionConfig build()
public NoSQLSubscriptionConfig.Builder setSubscribedTables(Set<String> tables)
tables
- set of table names to subscribepublic NoSQLSubscriptionConfig.Builder setSubscribedTables(String... tables)
tables
- set of table names to subscribepublic NoSQLSubscriptionConfig.Builder setSubscriberId(NoSQLSubscriberId id)
id
- subscriber idpublic NoSQLSubscriptionConfig.Builder setStartStreamPosition(StreamPosition position)
If stream mode is set to
NoSQLStreamMode.FROM_CHECKPOINT
, which is the default if
stream mode is not set, the stream will start from the checkpoint
persisted in the specified checkpoint table, and any specified
stream position will be ignored. If the checkpoint table does not
exist, the stream will create a new checkpoint table for user if
allowed. If the checkpoint table is empty, or if the position
specified by the checkpoint table is not available, subscription
will stream from the next available position.
If stream mode is set to
NoSQLStreamMode.FROM_EXACT_CHECKPOINT
, the stream will
start from the checkpoint persisted in the specified checkpoint
table, and any specified stream position will be ignored. If the
table does not exist, the stream will create a new checkpoint
table for user if allowed. If the checkpoint table is empty,
subscription will to stream from the first available entry. If
a checkpoint has been saved but that stream position is not
available, the subscription will fail and the publisher will signal
SubscriptionInsufficientLogException
to the subscriber via
NoSQLSubscriber.onError(java.lang.Throwable)
.
If stream mode is set to
NoSQLStreamMode.FROM_STREAM_POSITION
the stream will
start from specified stream position if set. If the start stream
position is not available, the subscription will stream from the
next available position. If the start stream position is not
set or is set to null, IllegalArgumentException
will be
raised when the configuration is created.
If stream mode is set to
NoSQLStreamMode.FROM_EXACT_STREAM_POSITION
, the stream will
start from specified stream position if set. If the specified
position is not available, the subscription will fail and the
publisher will signal SubscriptionInsufficientLogException
to the subscriber via NoSQLSubscriber.onError(java.lang.Throwable)
. If the
start stream position is not set or set to null,
IllegalArgumentException
will be raised when the
configuration is created.
If stream mode is set to
NoSQLStreamMode.FROM_NOW
, the stream will start from
the latest available stream position and any specified start stream
position will be ignored.
position
- stream position to start streampublic NoSQLSubscriptionConfig.Builder setCreateNewCheckpointTable(boolean allow)
allow
- true if publisher is allowed to create a new
checkpoint table for user if it does not exist;
false otherwise, and subscription will fail if
checkpoint table does not exist.public NoSQLSubscriptionConfig.Builder setStreamMode(NoSQLStreamMode mode) throws IllegalArgumentException
NoSQLStreamMode.FROM_CHECKPOINT
.mode
- the stream modeIllegalArgumentException
- if specified stream mode is null.Copyright (c) 2011, 2017 Oracle and/or its affiliates. All rights reserved.