// if not, we expect objectFactory to produce an ExecutionContext
Object obj = objectFactory.getObject();
if (obj instanceof ExecutionContext) {
+ // Check whether we are in an execution
+ // FIXME: do it more properly (not static)
+ // see https://www.argeo.org/bugzilla/show_bug.cgi?id=82
+ if (!ExecutionAspect.inModuleExecution.get()) {
+ log
+ .error("An execution context is being instantiated outside a module execution."
+ + " Please check your references to execution contexts."
+ + " This may lead to unexpected behaviour and will be rejected in the future.");
+ //Thread.dumpStack();
+ }
+
// store the ExecutionContext in the ThreadLocal
executionContext.set((ExecutionContext) obj);
executionContextBeanName.set(name);
+ if (log.isDebugEnabled()) {
+ log.debug("Execution context #"
+ + executionContext.get().getUuid()
+ + " instantiated. (beanName="
+ + executionContextBeanName.get() + ")");
+ // Thread.dumpStack();
+ }
return obj;
} else {
throw new SlcException(