Author: olamy
Date: Fri Apr 19 13:48:28 2013
New Revision: 1469828

URL: http://svn.apache.org/r1469828
Log:
correctly close connection

Modified:
    
archiva/redback/redback-components/trunk/spring-jdo2/src/main/java/org/apache/archiva/redback/components/jdo/DefaultConfigurableJdoFactory.java
    
archiva/redback/redback-components/trunk/spring-jdo2/src/main/java/org/apache/archiva/redback/components/jdo/DefaultJdoFactory.java

Modified: 
archiva/redback/redback-components/trunk/spring-jdo2/src/main/java/org/apache/archiva/redback/components/jdo/DefaultConfigurableJdoFactory.java
URL: 
http://svn.apache.org/viewvc/archiva/redback/redback-components/trunk/spring-jdo2/src/main/java/org/apache/archiva/redback/components/jdo/DefaultConfigurableJdoFactory.java?rev=1469828&r1=1469827&r2=1469828&view=diff
==============================================================================
--- 
archiva/redback/redback-components/trunk/spring-jdo2/src/main/java/org/apache/archiva/redback/components/jdo/DefaultConfigurableJdoFactory.java
 (original)
+++ 
archiva/redback/redback-components/trunk/spring-jdo2/src/main/java/org/apache/archiva/redback/components/jdo/DefaultConfigurableJdoFactory.java
 Fri Apr 19 13:48:28 2013
@@ -19,6 +19,7 @@ package org.apache.archiva.redback.compo
  * under the License.
  */
 
+import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;
 import java.util.Iterator;
@@ -27,7 +28,6 @@ import java.util.Properties;
 
 /**
  * @author <a href="mailto:[email protected]";>Trygve Laugst&oslash;l</a>
- *
  */
 public class DefaultConfigurableJdoFactory
     extends AbstractConfigurableJdoFactory
@@ -80,6 +80,8 @@ public class DefaultConfigurableJdoFacto
                     databasePath = databasePath.substring( 0, 
databasePath.indexOf( ';' ) );
                 }
 
+                Connection connection = null;
+
                 try
                 {
                     /* shutdown the database */
@@ -92,6 +94,20 @@ public class DefaultConfigurableJdoFacto
                      * 
http://db.apache.org/derby/manuals/reference/sqlj251.html
                      */
                 }
+                finally
+                {
+                    if ( connection != null )
+                    {
+                        try
+                        {
+                            connection.close();
+                        }
+                        catch ( SQLException e )
+                        {
+                            // ignore
+                        }
+                    }
+                }
 
                 System.gc();
             }
@@ -101,7 +117,7 @@ public class DefaultConfigurableJdoFacto
 
     public Properties getProperties()
     {
-        synchronized( configured )
+        synchronized ( configured )
         {
             if ( configured == Boolean.TRUE )
             {
@@ -118,7 +134,8 @@ public class DefaultConfigurableJdoFacto
                     properties.setProperty( (String) entry.getKey(), (String) 
entry.getValue() );
                 }
 
-                setPropertyInner( properties, 
"javax.jdo.PersistenceManagerFactoryClass", persistenceManagerFactoryClass );
+                setPropertyInner( properties, 
"javax.jdo.PersistenceManagerFactoryClass",
+                                  persistenceManagerFactoryClass );
                 setPropertyInner( properties, 
"javax.jdo.option.ConnectionDriverName", driverName );
                 setPropertyInner( properties, 
"javax.jdo.option.ConnectionURL", url );
                 setPropertyInner( properties, 
"javax.jdo.option.ConnectionUserName", userName );

Modified: 
archiva/redback/redback-components/trunk/spring-jdo2/src/main/java/org/apache/archiva/redback/components/jdo/DefaultJdoFactory.java
URL: 
http://svn.apache.org/viewvc/archiva/redback/redback-components/trunk/spring-jdo2/src/main/java/org/apache/archiva/redback/components/jdo/DefaultJdoFactory.java?rev=1469828&r1=1469827&r2=1469828&view=diff
==============================================================================
--- 
archiva/redback/redback-components/trunk/spring-jdo2/src/main/java/org/apache/archiva/redback/components/jdo/DefaultJdoFactory.java
 (original)
+++ 
archiva/redback/redback-components/trunk/spring-jdo2/src/main/java/org/apache/archiva/redback/components/jdo/DefaultJdoFactory.java
 Fri Apr 19 13:48:28 2013
@@ -26,6 +26,7 @@ import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.jdo.JDOHelper;
 import javax.jdo.PersistenceManagerFactory;
+import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;
 import java.util.Properties;
@@ -33,7 +34,6 @@ import java.util.Properties;
 /**
  * @author David Wynter
  * @author <a href="mailto:[email protected]";>Trygve Laugst&oslash;l</a>
- *
  */
 public class DefaultJdoFactory
     implements JdoFactory
@@ -70,7 +70,7 @@ public class DefaultJdoFactory
         try
         {
             driverClass = (String) properties.get( CONNECTION_DRIVER_NAME );
-            
+
             if ( driverClass == null )
             {
                 throw new RuntimeException( "Property " + 
CONNECTION_DRIVER_NAME + " was not set in JDO Factory." );
@@ -109,6 +109,8 @@ public class DefaultJdoFactory
                         databasePath = databasePath.substring( 0, 
databasePath.indexOf( ';' ) );
                     }
 
+                    Connection connection = null;
+
                     try
                     {
                         /* shutdown the database */
@@ -121,6 +123,20 @@ public class DefaultJdoFactory
                          * 
http://db.apache.org/derby/manuals/reference/sqlj251.html
                          */
                     }
+                    finally
+                    {
+                        if ( connection != null )
+                        {
+                            try
+                            {
+                                connection.close();
+                            }
+                            catch ( SQLException e )
+                            {
+                                // ignore
+                            }
+                        }
+                    }
 
                     System.gc();
                 }


Reply via email to