/** * {@inheritDoc} * @see java.util.concurrent.ExecutorService#submit(java.lang.Runnable, java.lang.Object) */ @Override public <T> Future<T> submit(final Runnable task, final T result) { if (task == null) throw new NullPointerException(); final FutureTask<T> ftask = new AsynchronousClientFuture<T>(task, result, CurrentAsyncInvocation.getCurrentAsyncInvocationId(), this.container); delegate.execute(ftask); return new LocalJvmSerializableFutureWrapper<T>(ftask); }
/** * {@inheritDoc} * @see java.util.concurrent.ExecutorService#submit(java.lang.Runnable) */ @Override public Future<?> submit(final Runnable task) { if (task == null) throw new NullPointerException(); final FutureTask<Object> ftask = new AsynchronousClientFuture<Object>(task, null, CurrentAsyncInvocation.getCurrentAsyncInvocationId(), this.container); delegate.execute(ftask); return new LocalJvmSerializableFutureWrapper<Object>(ftask); }
/** * {@inheritDoc}} * @see java.util.concurrent.ExecutorService#submit(java.util.concurrent.Callable) */ @Override public <T> Future<T> submit(final Callable<T> task) { if (task == null) throw new NullPointerException(); final FutureTask<T> ftask = new AsynchronousClientFuture<T>(task, CurrentAsyncInvocation.getCurrentAsyncInvocationId(), this.container); delegate.execute(ftask); return new LocalJvmSerializableFutureWrapper<T>(ftask); }