T - the type of itempublic class UniOnSubscribe<T> extends Object
Uni sends a UniSubscription.
The downstream don't have a subscription yet. It will be passed once the configured action completes.
Example:
uni.onSubscribe().invoke(sub -> System.out.println("subscribed"));
// Delay the subscription by 1 second (or until an asynchronous action completes)
uni.onSubscribe().invokeUni(sub -> Uni.createFrom(1).onItem().delayIt().by(Duration.ofSecond(1)));
| Constructor and Description |
|---|
UniOnSubscribe(Uni<T> upstream) |
| Modifier and Type | Method and Description |
|---|---|
Uni<T> |
invoke(Consumer<? super UniSubscription> callback)
Produces a new
Uni invoking the given callback when the subscription is received. |
Uni<T> |
invokeUni(Function<? super UniSubscription,Uni<?>> action)
Produces a new
Uni invoking the given @{code action} when the subscription event is received. |
public Uni<T> invoke(Consumer<? super UniSubscription> callback)
Uni invoking the given callback when the subscription is received.
The callback in invoked before passing a subscription event downstream. If the callback throws an exception, the downstream receives a subscription and the failure immediately.
callback - the callback, must not be null.Unipublic Uni<T> invokeUni(Function<? super UniSubscription,Uni<?>> action)
Uni invoking the given @{code action} when the subscription event is received.
Unlike invoke(Consumer), the passed function returns a Uni. When the produced Uni sends
the subscription, the function is called. The subscription event is passed downstream only when the Uni
completes. If the produced Uni fails or if the function throws an exception, the failure is propagated
downstream.
action - the callback, must not be nullUniCopyright © 2019–2020 SmallRye. All rights reserved.