Package oracle.rsi

Interface ReactiveStreamsIngestion

  • All Superinterfaces:
    java.lang.AutoCloseable

    public interface ReactiveStreamsIngestion
    extends java.lang.AutoCloseable
    The Reactive Streams Ingestion Library.
    • Method Detail

      • subscriber

        <T> java.util.concurrent.Flow.Subscriber<T> subscriber()
        Returns a new Flow.Subscriber of this ReactiveStreamsIngestion. The publishing item can be a Datum[] or Object[] given that the order of column values in item match the pre-declared column names. The item can also be a byte[] or an object of class annotated with StreamField} or a Map of column name and value pairs. If an entry isn't supplied in the Map, RSI defaults the value of column to null. If the publishing item is a byte[], the library applies the supplied Function to transform byte[] in to a result. For records of sharded database, the publishing item can be either byte[] or ShardRecord.
        Type Parameters:
        T - The publishing item type.
        Returns:
        a Flow.Subscriber.
      • droppedRecordsPublisher

        <T> java.util.concurrent.Flow.Publisher<T> droppedRecordsPublisher()
        Returns a Flow.Publisher which publishes DroppedRecords. The class contains the records that fail during ingestion, and the associated SQLException. The type of the published records are the same as the items that are ingested by RSI.
        Type Parameters:
        T - the type of the object published.
        Returns:
        a Flow.Publisher
      • close

        void close()
        Initiates an orderly shutdown in which previously submitted records are ingested, but no new records will be accepted. Invocation has no additional effect if already shut down. This method waits for previously submitted records to complete ingestion. Issues commit call to the Oracle database to make changes permanent, if this instance is configured with data load mode. See ReactiveStreamsIngestion.Builder.useDataLoadMode().
        Specified by:
        close in interface java.lang.AutoCloseable