Remove the following requirements from section 3.5.1
" - Tasks submitted to the master executor are owned by the executor instance. If the master executor becomes unavailable, the submitted tasks are cancelled.
- All tasks are not considered to be idempotent. If a slave executor becomes unavailable, all Futures for the tasks submitted to that executor that have not yet started will be cancelled.
- If a slave executor becomes unavailable, and the task has started, the result of the task's Future will throw a javax.enterprise.concurrent.ExecutorNotAvailableException exception. "
The Distributed ManagedExecutorService/ManagedScheduledExecutorService should be free to submit to a different "slave" or to run the task itself.