public enum NoSQLStreamMode extends Enum<NoSQLStreamMode>
Enum Constant and Description |
---|
FROM_CHECKPOINT
Start the stream from the last checkpoint saved in the checkpoint table,
using the next available position for shards where the checkpoint
position is not available.
|
FROM_EXACT_CHECKPOINT
Start the stream from the last checkpoint saved in the checkpoint table,
signaling an exception if the checkpoint position is not available.
|
FROM_EXACT_STREAM_POSITION
Start the stream from the specified start stream position, signaling an
exception if the requested position is not available.
|
FROM_NOW
Start the stream from the latest available stream position.
|
FROM_STREAM_POSITION
Start the stream from the specified start stream position, using the
next available position for shards where the requested position is
not available.
|
Modifier and Type | Method and Description |
---|---|
static NoSQLStreamMode |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static NoSQLStreamMode[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final NoSQLStreamMode FROM_NOW
final NoSQLSubscriptionConfig subscriptionConfig = new NoSQLSubscriptionConfig.Builder("MyCheckpointTable") .setSubscribedTables("User") .setStreamMode(NoSQLStreamMode.FROM_NOW) .build();In order to receive all updates made to the table, the user should create the subscription before any updates are made to the table. If not, updates made to the table before the subscription is created may be missed.
public static final NoSQLStreamMode FROM_EXACT_STREAM_POSITION
If the requested start position is not available on the master for
any shard, the subscription will fail and the publisher will signal
SubscriptionInsufficientLogException
to the subscriber via
NoSQLSubscriber.onError(java.lang.Throwable)
.
If the requested start position is later than the currently available position on the master for any shard, then the stream will start from the highest position available on the master for that shard. This situation can happen in unusual cases where the store has performed a hard rollback.
final NoSQLStreamPosition position = ...; // given stream position final NoSQLSubscriptionConfig subscriptionConfig = new NoSQLSubscriptionConfig.Builder("MyCheckpointTable") .setSubscribedTables("User") .setStreamMode(NoSQLStreamMode.FROM_EXACT_STREAM_POSITION) .setStartStreamPosition(position) .build();
public static final NoSQLStreamMode FROM_STREAM_POSITION
This mode is the same as FROM_EXACT_STREAM_POSITION
except
that the stream will start from the next position available on the
master rather than signaling an exception for any shards where the
requested start position is not available.
If the requested start position is later than the currently available position on the master for any shard, then the stream will start from the highest position available on the master for that shard. This situation can happen in unusual cases where the store has performed a hard rollback.
final NoSQLStreamPosition position = ...; // given stream position final NoSQLSubscriptionConfig subscriptionConfig = new NoSQLSubscriptionConfig.Builder("MyCheckpointTable") .setSubscribedTables("User") .setStreamMode(NoSQLStreamMode.FROM_STREAM_POSITION) .setStartStreamPosition(position) .build();
public static final NoSQLStreamMode FROM_EXACT_CHECKPOINT
If the checkpoint table does not exist and the publisher is allowed
to create a new checkpoint table for the user, as specified by NoSQLSubscriptionConfig.Builder.setCreateNewCheckpointTable(boolean)
, then the
checkpoint table will be created and the stream will start from the
latest position available on the master for each shard. If the
checkpoint table does not exist and the publisher is not allowed to
create a new checkpoint table, the subscription will fail and the
publisher will signal SubscriptionFailureException
to the
subscriber via NoSQLSubscriber.onError(java.lang.Throwable)
.
If the checkpoint position is not available on the master for any
shard, the subscription will fail and the publisher will signal SubscriptionInsufficientLogException
to the subscriber via NoSQLSubscriber.onError(java.lang.Throwable)
.
If the checkpoint position is later than the currently available position on the master for any shard, then the stream will start from the highest position available on the master for that shard. This situation can happen in unusual cases where the store has performed a hard rollback.
final NoSQLSubscriptionConfig subscriptionConfig = new NoSQLSubscriptionConfig.Builder("MyCheckpointTable") .setSubscribedTables("User") .setStreamMode(NoSQLStreamMode.FROM_EXACT_CHECKPOINT) .build();
public static final NoSQLStreamMode FROM_CHECKPOINT
This mode is same as FROM_EXACT_CHECKPOINT
except that the
stream will start from the next position available on the master
rather than signaling an exception for any shards where the checkpoint
position is not available.
If the checkpoint start position is later than the currently available position on the master for any shard, then the stream will start from the highest position available on the master for that shard. This situation can happen in unusual cases where the store has performed a hard rollback.
final NoSQLSubscriptionConfig subscriptionConfig = new NoSQLSubscriptionConfig.Builder("MyCheckpointTable") .setSubscribedTables("User") .setStreamMode(NoSQLStreamMode.FROM_CHECKPOINT) .build();
public static NoSQLStreamMode[] values()
for (NoSQLStreamMode c : NoSQLStreamMode.values()) System.out.println(c);
public static NoSQLStreamMode valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullCopyright (c) 2011, 2017 Oracle and/or its affiliates. All rights reserved.