/** * Create a reusable {@link Flux} given a {@link ReactiveSessionCallback} without exception translation. * * @param callback must not be {@literal null}. * @return a reusable {@link Flux} wrapping the {@link ReactiveSessionCallback}. */ protected <T> Flux<T> createFlux(ReactiveSessionCallback<T> callback) { Assert.notNull(callback, "ReactiveStatementCallback must not be null"); ReactiveSession session = getSession(); return Flux.defer(() -> callback.doInSession(session)); }
/** * Create a reusable {@link Flux} given a {@link ReactiveStatementCallback} without exception translation. * * @param callback must not be {@literal null}. * @return a reusable {@link Flux} wrapping the {@link ReactiveStatementCallback}. */ protected <T> Flux<T> createFlux(Statement statement, ReactiveStatementCallback<T> callback) { Assert.notNull(callback, "ReactiveStatementCallback must not be null"); applyStatementSettings(statement); ReactiveSession session = getSession(); return Flux.defer(() -> callback.doInStatement(session, statement)); }
/** * Create a reusable {@link Mono} given a {@link ReactiveStatementCallback} without exception translation. * * @param callback must not be {@literal null}. * @return a reusable {@link Mono} wrapping the {@link ReactiveStatementCallback}. */ protected <T> Mono<T> createMono(Statement statement, ReactiveStatementCallback<T> callback) { Assert.notNull(callback, "ReactiveStatementCallback must not be null"); applyStatementSettings(statement); ReactiveSession session = getSession(); return Mono.defer(() -> Mono.from(callback.doInStatement(session, statement))); }