|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface DistributedExecutorService
An ExecutorService that provides methods to submit tasks for execution on a cluster of Infinispan nodes.
Every DistributedExecutorService is bound to one particular cache. Tasks submitted will have
access to key/value pairs from that particular cache if and only if the task submitted is an
instance of DistributedCallable. Also note that there is nothing preventing a user from
submitting a familiar Runnable or Callable just like to any other
ExecutorService. However, DistributedExecutorService, as it name implies, will likely
migrate submitted Callable or Runnable to another JVM in Infinispan cluster, execute it and
return a result to task invoker.
Note that due to potential task migration to other nodes every Callable,
Runnable and/or DistributedCallable submitted must be either Serializable
or Externalizable. Also the value returned from a callable must be Serializable
or Externalizable. Unfortunately if the value returned is not serializable then a
NotSerializableException will be thrown.
DefaultExecutorService,
DistributedCallable| Method Summary | ||
|---|---|---|
|
submit(Callable<T> task,
K... input)
Submits given Callable task for an execution on a single Infinispan node. |
|
|
submitEverywhere(Callable<T> task)
Submits the given Callable task for an execution on all available Infinispan nodes. |
|
|
submitEverywhere(Callable<T> task,
K... input)
Submits the given Callable task for an execution on all available Infinispan nodes using input keys specified by K input. |
|
| Methods inherited from interface java.util.concurrent.ExecutorService |
|---|
awaitTermination, invokeAll, invokeAll, invokeAny, invokeAny, isShutdown, isTerminated, shutdown, shutdownNow, submit, submit, submit |
| Methods inherited from interface java.util.concurrent.Executor |
|---|
execute |
| Method Detail |
|---|
<T,K> Future<T> submit(Callable<T> task,
K... input)
Execution environment will chose an arbitrary node N hosting some or all of the keys specified as input. If all keys are not available locally at node N they will be retrieved from the cluster.
task - a task to execute across Infinispan clusterinput - input keys for this task, effective if and only if task is instance of DistributedCallable
<T> List<Future<T>> submitEverywhere(Callable<T> task)
task - a task to execute across Infinispan cluster
<T,K> List<Future<T>> submitEverywhere(Callable<T> task,
K... input)
Execution environment will chose all nodes in Infinispan cluster where input keys are local, migrate given Callable instance to those nodes, execute it and return result as a list of Futures
task - a task to execute across Infinispan clusterinput - input keys for this task, effective if and only if task is instance of DistributedCallable
|
--> | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||