serge 01/11/01 07:32:21
Modified: src/java/org/apache/james/mailrepository
JDBCSpoolRepository.java
Log:
Moved closing of connections to finally blocks.
Revision Changes Path
1.5 +38 -15
jakarta-james/src/java/org/apache/james/mailrepository/JDBCSpoolRepository.java
Index: JDBCSpoolRepository.java
===================================================================
RCS file:
/home/cvs/jakarta-james/src/java/org/apache/james/mailrepository/JDBCSpoolRepository.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- JDBCSpoolRepository.java 2001/09/11 04:33:08 1.4
+++ JDBCSpoolRepository.java 2001/11/01 15:32:21 1.5
@@ -63,13 +63,15 @@
public synchronized String accept() {
while (true) {
+ Connection conn = null;
+ PreparedStatement listMessages = null;
+ ResultSet rsListMessages = null;
try {
- //System.err.println("querying db");
- Connection conn = getConnection();
- PreparedStatement listMessages =
+ conn = getConnection();
+ listMessages =
conn.prepareStatement(sqlQueries.getSqlString("listMessagesSQL", true));
listMessages.setString(1, repositoryName);
- ResultSet rsListMessages = listMessages.executeQuery();
+ rsListMessages = listMessages.executeQuery();
while (rsListMessages.next()) {
String message = rsListMessages.getString(1);
@@ -77,16 +79,27 @@
if (lock(message)) {
rsListMessages.close();
listMessages.close();
- conn.close();
return message;
}
}
rsListMessages.close();
listMessages.close();
- conn.close();
} catch (Exception me) {
me.printStackTrace();
throw new RuntimeException("Exception while listing mail: " +
me.getMessage());
+ } finally {
+ try {
+ rsListMessages.close();
+ } catch (Exception e) {
+ }
+ try {
+ listMessages.close();
+ } catch (Exception e) {
+ }
+ try {
+ conn.close();
+ } catch (Exception e) {
+ }
}
try {
wait();
@@ -98,12 +111,15 @@
public synchronized String accept(long delay) {
while (true) {
long next = 0;
+ Connection conn = null;
+ PreparedStatement listMessages = null;
+ ResultSet rsListMessages = null;
try {
- Connection conn = getConnection();
- PreparedStatement listMessages =
+ conn = getConnection();
+ listMessages =
conn.prepareStatement(sqlQueries.getSqlString("listMessagesSQL", true));
listMessages.setString(1, repositoryName);
- ResultSet rsListMessages = listMessages.executeQuery();
+ rsListMessages = listMessages.executeQuery();
while (rsListMessages.next()) {
String message = rsListMessages.getString(1);
@@ -125,18 +141,25 @@
}
if (process && lock(message)) {
- rsListMessages.close();
- listMessages.close();
- conn.close();
return message;
}
}
- rsListMessages.close();
- listMessages.close();
- conn.close();
} catch (Exception me) {
me.printStackTrace();
throw new RuntimeException("Exception while listing mail: " +
me.getMessage());
+ } finally {
+ try {
+ rsListMessages.close();
+ } catch (Exception e) {
+ }
+ try {
+ listMessages.close();
+ } catch (Exception e) {
+ }
+ try {
+ conn.close();
+ } catch (Exception e) {
+ }
}
//We did not find any... let's wait for a certain amount of time
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>