You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by zo...@apache.org on 2010/08/24 10:33:33 UTC

svn commit: r988432 - in /incubator/aries/branches/0.2-incubating-RCx/jpa: jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ jpa-container/src/main/java/org/apache/aries/jpa/container/impl/

Author: zoe
Date: Tue Aug 24 08:33:32 2010
New Revision: 988432

URL: http://svn.apache.org/viewvc?rev=988432&view=rev
Log:
merging in revision 988424

Modified:
    incubator/aries/branches/0.2-incubating-RCx/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java
    incubator/aries/branches/0.2-incubating-RCx/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleManager.java

Modified: incubator/aries/branches/0.2-incubating-RCx/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java
URL: http://svn.apache.org/viewvc/incubator/aries/branches/0.2-incubating-RCx/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java?rev=988432&r1=988431&r2=988432&view=diff
==============================================================================
--- incubator/aries/branches/0.2-incubating-RCx/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java (original)
+++ incubator/aries/branches/0.2-incubating-RCx/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java Tue Aug 24 08:33:32 2010
@@ -67,6 +67,8 @@ public class GlobalPersistenceManager im
 
   /** The registration for the quiesce participant */
   private ServiceRegistration quiesceReg;
+  /** A callback to tidy up the quiesceParticipant */
+  private DestroyCallback quiesceTidyUp;
   /** The registration for the persistence context manager */
   private ServiceRegistration pcpReg;
   /** Our bundle */
@@ -243,11 +245,11 @@ public class GlobalPersistenceManager im
     try{
       context.getBundle().loadClass(QUIESCE_PARTICIPANT_CLASS);
       //Class was loaded, register
-      
+      quiesceTidyUp = new QuiesceParticipantImpl(this);
       quiesceReg = context.registerService(QUIESCE_PARTICIPANT_CLASS,
-          new QuiesceParticipantImpl(this), null);
+          quiesceTidyUp, null);
     } catch (ClassNotFoundException e) {
-      _logger.info("No quiesce support is available, so persistence contexts will not participate in quiesce operations", e);
+      _logger.info("No quiesce support is available, so persistence contexts will not participate in quiesce operations");
     }
   }
 
@@ -255,6 +257,8 @@ public class GlobalPersistenceManager im
     //Clean up
     unregister(pcpReg);
     unregister(quiesceReg);
+    if(quiesceTidyUp != null)
+      quiesceTidyUp.callback();
     Collection<PersistenceContextManager> mgrs = new ArrayList<PersistenceContextManager>();
     synchronized (persistenceContexts) {
       mgrs.addAll(managers.values());

Modified: incubator/aries/branches/0.2-incubating-RCx/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleManager.java
URL: http://svn.apache.org/viewvc/incubator/aries/branches/0.2-incubating-RCx/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleManager.java?rev=988432&r1=988431&r2=988432&view=diff
==============================================================================
--- incubator/aries/branches/0.2-incubating-RCx/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleManager.java (original)
+++ incubator/aries/branches/0.2-incubating-RCx/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleManager.java Tue Aug 24 08:33:32 2010
@@ -625,7 +625,7 @@ public class PersistenceBundleManager im
       quiesceReg = context.registerService(QUIESCE_PARTICIPANT_CLASS,
          quiesceParticipant, null);
     } catch (ClassNotFoundException e) {
-      _logger.info("No quiesce support is available, so persistence contexts will not participate in quiesce operations", e);
+      _logger.info("No quiesce support is available, so managed persistence units will not participate in quiesce operations");
     }
   }
 
@@ -638,7 +638,8 @@ public class PersistenceBundleManager im
     close();
     unregister(parserReg);
     unregister(quiesceReg);
-    quiesceParticipant.callback();
+    if(quiesceParticipant != null)
+      quiesceParticipant.callback();
   }
   
   /**