public static final class StreamsServiceGrpc.StreamsServiceBlockingV2Stub extends io.grpc.stub.AbstractBlockingStub<StreamsServiceGrpc.StreamsServiceBlockingV2Stub>
| Modifier and Type | Method and Description |
|---|---|
io.grpc.stub.BlockingClientCall<AppendRequest,AppendSessionResponse> |
appendSession()
Appends records to multiple streams atomically within a single transaction.
|
protected StreamsServiceGrpc.StreamsServiceBlockingV2Stub |
build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) |
getCallOptions, getChannel, withCallCredentials, withChannel, withCompression, withDeadline, withDeadlineAfter, withDeadlineAfter, withExecutor, withInterceptors, withMaxInboundMessageSize, withMaxOutboundMessageSize, withOnReadyThreshold, withOption, withWaitForReadyprotected StreamsServiceGrpc.StreamsServiceBlockingV2Stub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
build in class io.grpc.stub.AbstractStub<StreamsServiceGrpc.StreamsServiceBlockingV2Stub>@ExperimentalApi(value="https://github.com/grpc/grpc-java/issues/10918") public io.grpc.stub.BlockingClientCall<AppendRequest,AppendSessionResponse> appendSession()
Appends records to multiple streams atomically within a single transaction. This is a client-streaming RPC where the client sends multiple AppendRequest messages (one per stream) and receives a single AppendSessionResponse upon commit. Guarantees: - Atomicity: All writes succeed or all fail together - Optimistic Concurrency: Expected revisions are validated for all streams before commit - Ordering: Records within each stream maintain send order Current Limitations: - Each stream can only appear once per session (no multiple appends to same stream) Example flow: 1. Client opens stream 2. Client sends AppendRequest for stream "orders" with 3 records 3. Client sends AppendRequest for stream "inventory" with 2 records 4. Client completes the stream 5. Server validates, commits, returns AppendSessionResponse with positions