diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/context/AbstractStaticContext.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/context/AbstractStaticContext.java index 8db69fe..c5b2320 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/context/AbstractStaticContext.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/context/AbstractStaticContext.java @@ -37,6 +37,9 @@ package br.gov.frameworkdemoiselle.internal.context; import java.lang.annotation.Annotation; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import br.gov.frameworkdemoiselle.annotation.Priority; import br.gov.frameworkdemoiselle.annotation.StaticScoped; @@ -58,7 +61,7 @@ import br.gov.frameworkdemoiselle.configuration.Configuration; @Priority(Priority.MIN_PRIORITY) public abstract class AbstractStaticContext extends AbstractCustomContext { - private final static Store store = createStore(); + private final static Map staticStore = Collections.synchronizedMap(new HashMap()); /** * Constructs this context to control the provided scope @@ -69,11 +72,17 @@ public abstract class AbstractStaticContext extends AbstractCustomContext { @Override protected Store getStore() { + Store store = staticStore.get( this.getClass().getCanonicalName() ); + if (store==null){ + store = createStore(); + staticStore.put(this.getClass().getCanonicalName(), store); + } + return store; } @Override protected boolean isStoreInitialized() { - return store!=null; + return staticStore!=null; } } -- libgit2 0.21.2