public interface NoSQLSubscription
extends org.reactivestreams.Subscription
A NoSQL subscription has real resources (threads, network connections,
iterator state etc.) associated with it. These resources are released when
the subscription is canceled via cancel()
.
Modifier and Type | Method and Description |
---|---|
void |
cancel()
Clean up and free resources; terminates shard streams in particular.
|
void |
doCheckpoint(StreamPosition streamPosition)
Do subscription checkpoint.
|
StreamPosition |
getCurrentPosition()
Returns a current position in the stream.
|
StreamPosition |
getLastCheckpoint()
Gets the last checkpoint stored in kv store for the given subscription
|
NoSQLSubscriberId |
getSubscriberId()
Returns ID of the subscriber that created the subscription.
|
SubscriptionMetrics |
getSubscriptionMetrics()
Returns the subscription metrics
SubscriptionMetrics |
boolean |
isCanceled()
Returns true if the subscription has been canceled.
|
void |
request(long n)
Streams a fixed number operations from source kvstore interested to
the subscribed tables.
|
void request(long n)
request
in interface org.reactivestreams.Subscription
void cancel()
cancel
in interface org.reactivestreams.Subscription
NoSQLSubscriberId getSubscriberId()
StreamPosition getCurrentPosition()
NoSQLSubscriber.onNext(oracle.kv.pubsub.StreamOperation)
.
This position can be used by a subsequent subscriber to resume the stream from this point forwards, effectively resuming an earlier subscription.
StreamPosition getLastCheckpoint()
boolean isCanceled()
void doCheckpoint(StreamPosition streamPosition)
Note the checkpoint is an asynchronous call. When called, it creates a
separate thread to do the check to kvstore, and it itself instantly
returns to caller. The result of checkpoint will be signaled to
subscriber via NoSQLSubscriber.onCheckpointComplete(oracle.kv.pubsub.StreamPosition, java.lang.Throwable)
.
It is illegal to call this method concurrently for a subscription. The
method should be called only after
NoSQLSubscriber.onCheckpointComplete(oracle.kv.pubsub.StreamPosition, java.lang.Throwable)
is called in the previous
call of this method, which indicates the previous checkpoint is done.
Otherwise SubscriptionFailureException
will be raised.
streamPosition
- the stream position to checkpointSubscriptionMetrics getSubscriptionMetrics()
SubscriptionMetrics
Copyright (c) 2011, 2017 Oracle and/or its affiliates. All rights reserved.