Author: felixk
Date: Tue Mar 22 06:41:37 2011
New Revision: 1084079

URL: http://svn.apache.org/viewvc?rev=1084079&view=rev
Log:
Make sure, the connection gets closed (see JAMES-1207)

Modified:
    
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java

Modified: 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java?rev=1084079&r1=1084078&r2=1084079&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
 (original)
+++ 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
 Tue Mar 22 06:41:37 2011
@@ -438,31 +438,35 @@ public class JDBCGreylistHandler extends
     private boolean createTable(String tableNameSqlStringName,
     String createSqlStringName) throws SQLException {
         Connection conn = datasource.getConnection();
-        String tableName = sqlQueries.getSqlString(tableNameSqlStringName, 
true);
-
-        DatabaseMetaData dbMetaData = conn.getMetaData();
-
-        // Try UPPER, lower, and MixedCase, to see if the table is there.
-        if (theJDBCUtil.tableExists(dbMetaData, tableName)) {
-            return false;
-        }
-
-        PreparedStatement createStatement = null;
-
         try {
-            createStatement = 
conn.prepareStatement(sqlQueries.getSqlString(createSqlStringName, true));
-            createStatement.execute();
-
-            StringBuilder logBuffer = null;
-            logBuffer = new StringBuilder(64).append("Created table 
'").append(tableName)
-            .append("' using sqlResources string '")
-            .append(createSqlStringName).append("'.");
-            serviceLog.info(logBuffer.toString());
-
+            String tableName = sqlQueries.getSqlString(tableNameSqlStringName, 
true);
+    
+            DatabaseMetaData dbMetaData = conn.getMetaData();
+    
+            // Try UPPER, lower, and MixedCase, to see if the table is there.
+            if (theJDBCUtil.tableExists(dbMetaData, tableName)) {
+                return false;
+            }
+    
+            PreparedStatement createStatement = null;
+    
+            try {
+                createStatement = 
conn.prepareStatement(sqlQueries.getSqlString(createSqlStringName, true));
+                createStatement.execute();
+    
+                StringBuilder logBuffer = null;
+                logBuffer = new StringBuilder(64).append("Created table 
'").append(tableName)
+                .append("' using sqlResources string '")
+                .append(createSqlStringName).append("'.");
+                serviceLog.info(logBuffer.toString());
+    
+            } finally {
+                theJDBCUtil.closeJDBCStatement(createStatement);
+            }
+            return true;
         } finally {
-            theJDBCUtil.closeJDBCStatement(createStatement);
+            theJDBCUtil.closeJDBCConnection(conn);
         }
-        return true;
     }
 
     



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to