# Package oracle.kv.pubsub

package oracle.kv.pubsub
Provides the classes used to define a Subscription to all logical changes (table row puts and deletes) made to a NoSQL store.

The classes defined here extend or implement the interfaces defined by the reactive stream APIs. Generally, the Oracle NoSQL Subscription API allows users to create subscription streams from each replication group in the Oracle NoSQL Database on a given tables. The subscription stream, as a sequence of onNext calls defined in reactive stream API, represents a partial order which guarantees that for any single key, the order of operations performed on that key on the Oracle NoSQL Database is strictly preserved. The interfaces and classes defined in this package includes NoSQLPublisher, NoSQLSubscriber, NoSQLSubscription and other auxiliary configuration classes required to use the Oracle NoSQL Subscription API.

- Related Packages
  Package
  Description
  oracle.kv
  This package contains the public API for using Oracle NoSQL Database.
- Class
  Description
  CheckpointFailureException
  Exception that is raised when a subscriber fails to make a checkpoint.
  NoSQLPublisher
  Object represents a NoSQLPublisher which publishes changes to the NoSQL store on order, an implementation of Reactive Streams Publisher interface.
  NoSQLPublisherConfig
  Configuration used to create an instance of NoSQLPublisher.
  NoSQLPublisherConfig.Builder
  Builder to help construct a NoSQLPublisherConfig instance
  NoSQLStreamMode
  Subscription stream mode used to configure the starting point for a NoSQL subscription.
  NoSQLSubscriber
  The subscriber interface is to be implemented by the application.
  NoSQLSubscriberId
  Object to represent a subscriber id in a subscription group.
  NoSQLSubscription
  A NoSQL subscription to the source kvstore.
  NoSQLSubscriptionConfig
  Configuration used by the NoSQL Publisher to create a subscription.
  NoSQLSubscriptionConfig.Builder
  Builder to construct a NoSQLSubscriptionConfig instance
  NoSQLSubscriptionConfig.StreamDeliveryMode
  Delivery mode of subscribe tables
  PublisherFailureException
  Exception that will be raised when NoSQL Publisher cannot be created due to errors, or experiences irrecoverable errors and must be closed.
  ShardTimeoutException
  Exception raised when publisher does not hear from source shard for a given period of time.
  StreamOperation
  The operation (Put, Delete) that was delivered over the NoSQL stream.
  StreamOperation.DeleteEvent
  Used to signal a Delete operation
  StreamOperation.PutEvent
  Used to signal a Put operation
  StreamOperation.SequenceId
  A SequenceId uniquely identifies a stream operation associated with a Publisher.
  StreamOperation.TransactionEvent
  Used to signal a Transaction operation
  StreamOperation.TransactionEvent.TransactionType
  Types of transaction
  StreamOperation.Type
  The type of the operation.
  StreamPosition
  A StreamPosition represents a position in a subscription stream.
  SubscriptionChangeNotAppliedException
  Exception raised when change cannot be applied to the running subscription, and the subscription is unchanged.
  SubscriptionChangeNotAppliedException.Reason
  Describes the reason that a change was not applied.
  SubscriptionFailureException
  Exception raised when a subscription fails.
  SubscriptionInsufficientLogException
  Exception used to indicate that the logs on at least one shard were insufficient for the purposes of the stream.
  SubscriptionTableNotFoundException
  Exception raised when one or more tables are not found in kvstore when performing an operation on a subscription.