Return-Path: X-Original-To: apmail-aries-commits-archive@www.apache.org Delivered-To: apmail-aries-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 014D5187FE for ; Wed, 21 Oct 2015 16:31:05 +0000 (UTC) Received: (qmail 59977 invoked by uid 500); 21 Oct 2015 16:31:04 -0000 Delivered-To: apmail-aries-commits-archive@aries.apache.org Received: (qmail 59909 invoked by uid 500); 21 Oct 2015 16:31:04 -0000 Mailing-List: contact commits-help@aries.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@aries.apache.org Delivered-To: mailing list commits@aries.apache.org Received: (qmail 59898 invoked by uid 99); 21 Oct 2015 16:31:04 -0000 Received: from Unknown (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Oct 2015 16:31:04 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 4D831C0FC5 for ; Wed, 21 Oct 2015 16:31:04 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.99 X-Spam-Level: X-Spam-Status: No, score=0.99 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, T_RP_MATCHES_RCVD=-0.01] autolearn=disabled Received: from mx1-us-west.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id EYl5lKprtMkq for ; Wed, 21 Oct 2015 16:31:03 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with ESMTP id 7DA14206A7 for ; Wed, 21 Oct 2015 16:31:03 +0000 (UTC) Received: from svn01-us-west.apache.org (svn.apache.org [10.41.0.6]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 1789EE0454 for ; Wed, 21 Oct 2015 16:31:03 +0000 (UTC) Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 162653A0018 for ; Wed, 21 Oct 2015 16:31:03 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1709880 - /aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleTracker.java Date: Wed, 21 Oct 2015 16:31:03 -0000 To: commits@aries.apache.org From: cschneider@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20151021163103.162653A0018@svn01-us-west.apache.org> Author: cschneider Date: Wed Oct 21 16:31:02 2015 New Revision: 1709880 URL: http://svn.apache.org/viewvc?rev=1709880&view=rev Log: Avoid instanciating persistence units when stopping Modified: aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleTracker.java Modified: aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleTracker.java URL: http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleTracker.java?rev=1709880&r1=1709879&r2=1709880&view=diff ============================================================================== --- aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleTracker.java (original) +++ aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleTracker.java Wed Oct 21 16:31:02 2015 @@ -48,8 +48,13 @@ public class PersistenceBundleTracker im } public synchronized Bundle addingBundle(Bundle bundle, BundleEvent event) { + if (event != null && event.getType() == BundleEvent.STOPPED) { + // Avoid starting persistence units in state STOPPED. + // TODO No idea why we are called at all in this state + return bundle; + } if (getTrackers(bundle).size() == 0) { - findPersistenceUnits(bundle); + findPersistenceUnits(bundle, event); } return bundle; } @@ -66,11 +71,18 @@ public class PersistenceBundleTracker im providerTrackers.clear(); } - private void findPersistenceUnits(Bundle bundle) { + private void findPersistenceUnits(Bundle bundle, BundleEvent event) { for (PersistenceUnit punit : PersistenceUnitParser.getPersistenceUnits(bundle)) { punit.addAnnotated(); trackProvider(bundle, punit); } + if (getTrackers(bundle).size() > 0) { + LOGGER.info("Persistence units added for bundle " + bundle.getSymbolicName() + " event " + getEventType(event)); + } + } + + private Integer getEventType(BundleEvent event) { + return (event != null) ? event.getType() : null; } private void trackProvider(Bundle bundle, PersistenceUnit punit) {