Input - the input of the executionOutput - the output of the executionpublic interface FlowableFutureJavaDelegate<Input,Output> extends FutureJavaDelegate<Output>
AsyncTaskInvoker to execute the async data.
Provides intermediate methods to prepare the execution data before executing and do the
actual execution without the need to work with futures.MapBasedFlowableFutureJavaDelegate,
FutureJavaDelegate| Modifier and Type | Method and Description |
|---|---|
void |
afterExecution(DelegateExecution execution,
Output executionData)
Method invoked with the result from
execute(Object). |
default CompletableFuture<Output> |
execute(DelegateExecution execution,
AsyncTaskInvoker taskInvoker)
Perform the execution of the delegate, potentially on another thread.
|
Output |
execute(Input inputData)
Perform the actual execution of the delegate in another thread.
|
Input |
prepareExecutionData(DelegateExecution execution)
Method invoked before doing the execution to extract needed that from the execution
on the main thread.
|
default CompletableFuture<Output> execute(DelegateExecution execution, AsyncTaskInvoker taskInvoker)
FutureJavaDelegateFutureJavaDelegate.afterExecution(DelegateExecution, Object) in order to store
the data on the execution on the same thread as the caller of this method.
IMPORTANT: the execution should only be used to read data before creating the future.
The execution should not be used in the task that will be executed on a new thread.
The AsyncTaskInvoker is in order to schedule an execution on a different thread.
However, it is also possible to use a different scheduler, or return a future not created by the given taskInvoker.
execute in interface FutureJavaDelegate<Output>execution - the execution that can be used to extract datataskInvoker - the task invoker that can be used to execute expensive operation on another threadInput prepareExecutionData(DelegateExecution execution)
execution - the execution from which to extract dataOutput execute(Input inputData)
prepareExecutionData(DelegateExecution) to get the needed data
from the DelegateExecution and returns the output data that can is passed to afterExecution(DelegateExecution, Object).
IMPORTANT: This is a completely new thread which does not participate in the transaction of the process.inputData - the input data for the execution created via prepareExecutionData(DelegateExecution)execute(DelegateExecution, AsyncTaskInvoker)void afterExecution(DelegateExecution execution, Output executionData)
execute(Object).
This should be used to set data on the DelegateExecution.
This is on the same thread as prepareExecutionData(DelegateExecution) and participates in the process transaction.afterExecution in interface FutureJavaDelegate<Output>execution - the execution to which data can be setexecutionData - the execution dataCopyright © 2020 Flowable. All rights reserved.