[jboss-cvs] JBossAS SVN: r60547 - in branches/Branch_4_2/ejb3/src: test/org/jboss/ejb3/test/stateful/unit and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Feb 14 13:05:20 EST 2007


Author: wolfc
Date: 2007-02-14 13:05:20 -0500 (Wed, 14 Feb 2007)
New Revision: 60547

Modified:
   branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java
   branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/PersistenceUnitRegistry.java
   branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/RemoteUnitTestCase.java
Log:
EJBTHREE-875: unregistering persistence units in deployment destroy

Modified: branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java
===================================================================
--- branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java	2007-02-14 17:58:27 UTC (rev 60546)
+++ branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java	2007-02-14 18:05:20 UTC (rev 60547)
@@ -439,6 +439,19 @@
       }
    }
 
+   private void destroyPersistenceUnits()
+   {
+      if (persistenceUnitDeployments == null) return;
+
+      for (PersistenceUnitDeployment entityDeployment : persistenceUnitDeployments)
+      {
+         if (entityDeployment != null)
+         {
+            PersistenceUnitRegistry.unregister(entityDeployment);
+         }
+      }
+   }
+   
    protected void initializePersistenceUnits()
            throws Exception
    {
@@ -498,11 +511,11 @@
       {
          try
          {
-            PersistenceUnitRegistry.unregister(entityDeployment);
             if (entityDeployment != null)
             {
                kernelAbstraction.uninstall(entityDeployment.getKernelName());
             }
+            //FIXME: entityDeployment.removeDependencies(...)
          }
          catch (Exception e)
          {
@@ -531,6 +544,8 @@
 
    public void destroy() throws Exception
    {
+      destroyPersistenceUnits();
+      
       undeploy();
       
       PolicyConfigurationFactory pcFactory = PolicyConfigurationFactory.getPolicyConfigurationFactory();

Modified: branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/PersistenceUnitRegistry.java
===================================================================
--- branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/PersistenceUnitRegistry.java	2007-02-14 17:58:27 UTC (rev 60546)
+++ branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/PersistenceUnitRegistry.java	2007-02-14 18:05:20 UTC (rev 60547)
@@ -38,18 +38,26 @@
 
    public static void register(PersistenceUnitDeployment container)
    {
-      if (persistenceUnits.contains(container.getKernelName())) throw new RuntimeException("Persistence Unit is already registered: " + container.getKernelName());
-      persistenceUnits.put(container.getKernelName(), container);
+      String kernelName = container.getKernelName();
+      if (persistenceUnits.contains(kernelName)) throw new RuntimeException("Persistence Unit is already registered: " + kernelName);
+      log.trace("register " + kernelName);
+      persistenceUnits.put(kernelName, container);
    }
 
    public static void unregister(PersistenceUnitDeployment container)
    {
-      persistenceUnits.remove(container.getKernelName());
+      String kernelName = container.getKernelName();
+      log.trace("unregister " + kernelName);
+      persistenceUnits.remove(kernelName);
    }
 
    public static PersistenceUnitDeployment getPersistenceUnit(String kernelName)
    {
-      return persistenceUnits.get(kernelName);
+      PersistenceUnitDeployment unit = persistenceUnits.get(kernelName);
+      log.trace("get " + kernelName + " = " + unit);
+      if(unit == null)
+         throw new IllegalStateException("Unable to find persistence unit " + kernelName);
+      return unit;
    }
 
    public static Collection<PersistenceUnitDeployment> getPersistenceUnits()

Modified: branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/RemoteUnitTestCase.java
===================================================================
--- branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/RemoteUnitTestCase.java	2007-02-14 17:58:27 UTC (rev 60546)
+++ branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/RemoteUnitTestCase.java	2007-02-14 18:05:20 UTC (rev 60547)
@@ -578,7 +578,7 @@
    {
       EntityFacade stateful = (EntityFacade)getInitialContext().lookup("EntityFacadeBean/remote");
       assertNotNull(stateful);
-      stateful.createEntity("Kalin");
+      stateful.createEntity("Kalin TestDestroy");
       
       try
       {




More information about the jboss-cvs-commits mailing list