Package oracle.rsi
Interface ReactiveStreamsIngestion
-
- All Superinterfaces:
java.lang.AutoCloseable
public interface ReactiveStreamsIngestion extends java.lang.AutoCloseableThe Reactive Streams Ingestion Library.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceReactiveStreamsIngestion.BuilderTheReactiveStreamsIngestionlibrary instance builder.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static ReactiveStreamsIngestion.Builderbuilder()Returns a newRSIBuilder.voidclose()Initiates an orderly shutdown in which previously submitted records are ingested, but no new records will be accepted.<T> java.util.concurrent.Flow.Publisher<T>droppedRecordsPublisher()Returns aFlow.Publisherwhich publishesDroppedRecords.static <T> PushPublisher<T>pushPublisher()Returns a newPushPublisherof thisReactiveStreamsIngestion.<T> java.util.concurrent.Flow.Subscriber<T>subscriber()Returns a newFlow.Subscriberof thisReactiveStreamsIngestion.
-
-
-
Method Detail
-
builder
static ReactiveStreamsIngestion.Builder builder()
Returns a newRSIBuilder.- Returns:
- a new
RSIBuilder. Notnull.
-
pushPublisher
static <T> PushPublisher<T> pushPublisher()
Returns a newPushPublisherof thisReactiveStreamsIngestion.- Type Parameters:
T- the type of the object published.- Returns:
- the
PushPublisher. Notnull.
-
subscriber
<T> java.util.concurrent.Flow.Subscriber<T> subscriber()
Returns a newFlow.Subscriberof thisReactiveStreamsIngestion. 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 withStreamField} 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 suppliedFunctionto transform byte[] in to a result. For records of sharded database, the publishing item can be either byte[] orShardRecord.- Type Parameters:
T- The publishing item type.- Returns:
- a
Flow.Subscriber.
-
droppedRecordsPublisher
<T> java.util.concurrent.Flow.Publisher<T> droppedRecordsPublisher()
Returns aFlow.Publisherwhich publishesDroppedRecords. The class contains the records that fail during ingestion, and the associatedSQLException. 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. SeeReactiveStreamsIngestion.Builder.useDataLoadMode().- Specified by:
closein interfacejava.lang.AutoCloseable
-
-