Executor.Descriptive, Executor.Impl, Executor.Priority, Executor.SimpleSqlWork, Executor.SimpleWork, Executor.SqlWork, Executor.StatefulWork, Executor.Work<X>| Modifier and Type | Field and Description |
|---|---|
protected List<Advice> |
advices |
protected OmeroContext |
context |
protected SessionFactory |
factory |
protected InternalServiceFactory |
isf |
protected CurrentDetails |
principalHolder |
protected String[] |
proxyNames |
protected ExecutorService |
service |
protected ome.util.SqlAction |
sqlAction |
protected ExecutorService |
systemService |
| Constructor and Description |
|---|
Executor.Impl(CurrentDetails principalHolder,
SessionFactory factory,
ome.util.SqlAction sqlAction,
String[] proxyNames) |
Executor.Impl(CurrentDetails principalHolder,
SessionFactory factory,
ome.util.SqlAction sqlAction,
String[] proxyNames,
ExecutorService service) |
| Modifier and Type | Method and Description |
|---|---|
Object |
execute(Map<String,String> callContext,
Principal p,
Executor.Work work)
Executes a
Executor.Work instance wrapped in two layers of AOP. |
Object |
execute(Principal p,
Executor.Work work)
Call
#execute(Map
with a null call context. |
Object |
executeSql(Executor.SqlWork work)
Executes a
SqkWork in transaction. |
<T> T |
get(Future<T> future)
Helper method to perform
Future.get() and properly unwrap the
exceptions. |
OmeroContext |
getContext()
Provides access to the context for Work-API consumers who need to publish
events, etc.
|
ExecutorService |
getService()
Returns the
ExecutorService assigned to this instance. |
Principal |
principal()
Returns a
Principal representing your current session or null,
if none is active. |
void |
setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
Set the ApplicationContext that this object runs in.
|
<T> Future<T> |
submit(Callable<T> callable)
Call
Executor.submit(Map, Callable) with a null callContext. |
<T> Future<T> |
submit(Executor.Priority prio,
Callable<T> callable)
Simple submission method with a
Executor.Priority. |
<T> Future<T> |
submit(Executor.Priority prio,
Map<String,String> callContext,
Callable<T> callable)
Like
Executor.submit(Map, Callable) but provide info to which priority
queue should be used. |
<T> Future<T> |
submit(Map<String,String> callContext,
Callable<T> callable)
Simple submission method which can be used in conjunction with a call to
Executor.execute(Principal, Work) to overcome the no-multiple-login rule. |
protected OmeroContext context
protected InternalServiceFactory isf
protected final CurrentDetails principalHolder
protected final String[] proxyNames
protected final SessionFactory factory
protected final ome.util.SqlAction sqlAction
protected final ExecutorService service
protected final ExecutorService systemService
public Executor.Impl(CurrentDetails principalHolder, SessionFactory factory, ome.util.SqlAction sqlAction, String[] proxyNames)
public Executor.Impl(CurrentDetails principalHolder, SessionFactory factory, ome.util.SqlAction sqlAction, String[] proxyNames, ExecutorService service)
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
throws org.springframework.beans.BeansException
org.springframework.context.ApplicationContextAwareInvoked after population of normal bean properties but before an init callback such
as InitializingBean.afterPropertiesSet()
or a custom init-method. Invoked after ResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader),
ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher) and
MessageSourceAware, if applicable.
setApplicationContext in interface org.springframework.context.ApplicationContextAwareapplicationContext - the ApplicationContext object to be used by this objectorg.springframework.context.ApplicationContextException - in case of context initialization errorsorg.springframework.beans.BeansException - if thrown by application context methodsBeanInitializationExceptionpublic OmeroContext getContext()
ExecutorgetContext in interface Executorpublic Principal principal()
ExecutorPrincipal representing your current session or null,
if none is active.public Object execute(Principal p, Executor.Work work)
#execute(Map, Principal, Work)
with a null call context.public Object execute(Map<String,String> callContext, Principal p, Executor.Work work)
Executor.Work instance wrapped in two layers of AOP. The
first is intended to acquire the proper arguments for
Work#doWork(TransactionStatus, Session, ServiceFactory) for
the OmeroContext, and the second performs all the standard
service actions for any normal method call.
If the Principal argument is not null, then additionally, a
login/logout sequence will be performed in a try/finally block.public <T> Future<T> submit(Callable<T> callable)
ExecutorExecutor.submit(Map, Callable) with a null callContext.public <T> Future<T> submit(Map<String,String> callContext, Callable<T> callable)
ExecutorExecutor.execute(Principal, Work) to overcome the no-multiple-login rule.submit in interface ExecutorcallContext - Possibly null. See CurrentDetails.setContext(Map)public <T> Future<T> submit(Executor.Priority prio, Callable<T> callable)
ExecutorExecutor.Priority.submit in interface Executorprio - Possibly null. See Executor.submit(Priority, Map, Callable)public <T> Future<T> submit(Executor.Priority prio, Map<String,String> callContext, Callable<T> callable)
ExecutorExecutor.submit(Map, Callable) but provide info to which priority
queue should be used.submit in interface Executorprio - Possibly null. Priority for execution. Default: Executor.Priority.USERcallContext - Possibly null. See CurrentDetails.setContext(Map)public <T> T get(Future<T> future)
ExecutorFuture.get() and properly unwrap the
exceptions. Any RuntimeException which was thrown during
execution will be rethrown. All other exceptions will be wrapped in an
InternalException.public ExecutorService getService()
ExecutorExecutorService assigned to this instance.
Used by Executor.submit(Callable) and Executor.get(Future).getService in interface Executorpublic Object executeSql(Executor.SqlWork work)
SqkWork in transaction.executeSql in interface Executorwork - Non-null.
Version: 5.1.2-ice35-b45
Copyright © 2015 The University of Dundee & Open Microscopy Environment. All Rights Reserved.