Return-Path: X-Original-To: apmail-deltaspike-commits-archive@www.apache.org Delivered-To: apmail-deltaspike-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5D52618F2C for ; Wed, 5 Aug 2015 15:43:43 +0000 (UTC) Received: (qmail 46791 invoked by uid 500); 5 Aug 2015 15:43:43 -0000 Delivered-To: apmail-deltaspike-commits-archive@deltaspike.apache.org Received: (qmail 46758 invoked by uid 500); 5 Aug 2015 15:43:43 -0000 Mailing-List: contact commits-help@deltaspike.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@deltaspike.apache.org Delivered-To: mailing list commits@deltaspike.apache.org Received: (qmail 46749 invoked by uid 99); 5 Aug 2015 15:43:43 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Aug 2015 15:43:43 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 09E80DFBD5; Wed, 5 Aug 2015 15:43:43 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: gpetracek@apache.org To: commits@deltaspike.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: deltaspike git commit: DELTASPIKE-975 fixed cleanup of dependent-scoped EntityManagerResolver Date: Wed, 5 Aug 2015 15:43:43 +0000 (UTC) Repository: deltaspike Updated Branches: refs/heads/master 5895eb73b -> f7c0f1b3f DELTASPIKE-975 fixed cleanup of dependent-scoped EntityManagerResolver Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/f7c0f1b3 Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/f7c0f1b3 Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/f7c0f1b3 Branch: refs/heads/master Commit: f7c0f1b3f9ea21ecc341818151903983387c8147 Parents: 5895eb7 Author: gpetracek Authored: Wed Aug 5 17:38:20 2015 +0200 Committer: gpetracek Committed: Wed Aug 5 17:42:29 2015 +0200 ---------------------------------------------------------------------- .../data/impl/handler/EntityManagerLookup.java | 12 +++++++++++- .../deltaspike/data/impl/handler/QueryHandler.java | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/deltaspike/blob/f7c0f1b3/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java ---------------------------------------------------------------------- diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java index 4554497..3a78393 100644 --- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java +++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java @@ -36,6 +36,8 @@ public class EntityManagerLookup @Any private Instance entityManager; + private DependentProvider dependentResolverProvider; + public EntityManager lookupFor(final RepositoryComponent repository) { EntityManager result = null; @@ -45,8 +47,8 @@ public class EntityManagerLookup if (!repository.isEntityManagerResolverIsNormalScope()) { final DependentProvider resolver = lookupResolver(emrc); + dependentResolverProvider = resolver; result = resolver.get().resolveEntityManager(); - resolver.destroy(); } else { @@ -64,6 +66,14 @@ public class EntityManagerLookup return result; } + public void release() + { + if (dependentResolverProvider != null) + { + dependentResolverProvider.destroy(); + } + } + private DependentProvider lookupResolver( Class resolverClass) { http://git-wip-us.apache.org/repos/asf/deltaspike/blob/f7c0f1b3/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/QueryHandler.java ---------------------------------------------------------------------- diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/QueryHandler.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/QueryHandler.java index 6b6ddb5..0501a4f 100755 --- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/QueryHandler.java +++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/QueryHandler.java @@ -94,6 +94,7 @@ public class QueryHandler implements Serializable, InvocationHandler } finally { + entityManagerLookup.release(); context.dispose(); } }