[jboss-jira] [JBoss JIRA] Created: (JBMESSAGING-511) JDBC and Transaction close/cleanup operations should be bullet-proofed JDBCChannelMapper and elsewhere.
Joel Lindheimer (JIRA)
jira-events at jboss.com
Sun Aug 13 23:36:15 EDT 2006
JDBC and Transaction close/cleanup operations should be bullet-proofed JDBCChannelMapper and elsewhere.
-------------------------------------------------------------------------------------------------------
Key: JBMESSAGING-511
URL: http://jira.jboss.com/jira/browse/JBMESSAGING-511
Project: JBoss Messaging
Issue Type: Bug
Components: Messaging Core
Affects Versions: 1.0.1.CR4
Environment: Windows
Reporter: Joel Lindheimer
Assigned To: Ovidiu Feodorov
I am concerned with object close and wrap.end() methods in JDBCChannelMapper possibly being bypassed if an exception is thrown in the rs.close(), ps.close() blocks (code below is an example of what is currently in the JDBCChannelMapper).
JDBCChannelMapper :
public DurableSubscription getDurableSubscription(String clientID, String subscriptionName, MessageStore ms, PersistenceManager pm, MemoryManager mm) throws Exception {
// Look in memory first
DurableSubscription sub = getDurableSubscription(clientID, subscriptionName);
if (sub != null) {
return sub;
}
//Now look in the db
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
TransactionWrapper wrap = new TransactionWrapper();
try {
conn = ds.getConnection();
ps = conn.prepareStatement(selectDurableSub);
(do stuff here... )
return sub;
} finally {
if (rs != null) { // JL what if it blose up here?
rs.close();
}
if (ps != null) { // JL or here?
ps.close();
}
if (conn != null) { // or here?
conn.close();
}
wrap.end();
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list