From 682975f98c60483acc213675db125e43b3ba7af8 Mon Sep 17 00:00:00 2001 From: Dancovich Date: Thu, 3 Oct 2013 11:42:09 -0300 Subject: [PATCH] Resolvido problema onde implementações concretas de AbstractStaticContext armazenavam beans em uma mesma store (cada implementação deveria representar uma store separada). --- impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/context/AbstractStaticContext.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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