长事务监控

git-svn-id: http://code.alibabatech.com/svn/druid/trunk@862 b9813039-fb51-4c41-a8b9-e21c2acb5095
This commit is contained in:
wenshao
2011-09-19 07:29:35 +00:00
parent 8c54f409f4
commit 2d72077a14
3 changed files with 13 additions and 8 deletions
@@ -583,7 +583,7 @@ public class PoolableConnection implements PooledConnection, Connection {
} catch (SQLException ex) {
handleException(ex);
} finally {
handleEndTransaction();
handleEndTransaction(dataSource);
}
}
@@ -593,11 +593,11 @@ public class PoolableConnection implements PooledConnection, Connection {
@Override
public void rollback() throws SQLException {
checkOpen();
if (transactionInfo == null) {
return;
}
checkOpen();
DruidAbstractDataSource dataSource = holder.getDataSource();
dataSource.incrementRollbackCount();
@@ -607,7 +607,7 @@ public class PoolableConnection implements PooledConnection, Connection {
} catch (SQLException ex) {
handleException(ex);
} finally {
handleEndTransaction();
handleEndTransaction(dataSource);
}
}
@@ -630,14 +630,12 @@ public class PoolableConnection implements PooledConnection, Connection {
} catch (SQLException ex) {
handleException(ex);
} finally {
handleEndTransaction();
handleEndTransaction(dataSource);
}
}
private void handleEndTransaction() {
private void handleEndTransaction(DruidAbstractDataSource dataSource) {
if (transactionInfo != null) {
DruidAbstractDataSource dataSource = holder.getDataSource();
long currentTimeMillis = System.currentTimeMillis();
transactionInfo.setEndTimeMillis(currentTimeMillis);