]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/execution/ExecutionScope.java
Restructure OSGi launching
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.simple / src / main / java / org / argeo / slc / core / execution / ExecutionScope.java
index 36d951093a964c18b68fea9f0348a089e1f553ac..a24046a99869a443f4fb024de4a5aff5875599e3 100644 (file)
@@ -27,9 +27,27 @@ public class ExecutionScope implements Scope {
                        // 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(