public SessionSpecContainer(ClassLoader cl, String beanClassName, String ejbName, Domain domain, Hashtable ctxProperties, Ejb3Deployment deployment, JBossSessionBeanMetaData beanMetaData, final ExecutorService asynchronousExecutor) throws ClassNotFoundException { super(cl, beanClassName, ejbName, domain, ctxProperties, deployment, beanMetaData); if (asynchronousExecutor == null) { throw new IllegalArgumentException("Asynchronous Executor must be specified"); } this.asynchronousExecutor = new ResultUnwrappingExecutorService(asynchronousExecutor, this); }
/** * {@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); }
public SessionSpecContainer(ClassLoader cl, String beanClassName, String ejbName, Domain domain, Hashtable ctxProperties, JBossSessionBeanMetaData beanMetaData, final ExecutorService asynchronousExecutor) throws ClassNotFoundException { super(cl, beanClassName, ejbName, domain, ctxProperties, beanMetaData); if (asynchronousExecutor == null) { throw new IllegalArgumentException("Asynchronous Executor must be specified"); } this.asynchronousExecutor = new ResultUnwrappingExecutorService(asynchronousExecutor, this); }
/** * {@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); }
.getContextClassLoader(), new Class<?>[] {AsyncEndpoint.class}, proxy); return new ResultUnwrappingExecutorService(ClientExecutorService.INSTANCE, container);
/** * {@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); }