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]