mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
startTransactionCount
git-svn-id: http://code.alibabatech.com/svn/druid/trunk@738 b9813039-fb51-4c41-a8b9-e21c2acb5095
This commit is contained in:
@@ -172,24 +172,33 @@ public abstract class DruidAbstractDataSource implements DruidAbstractDataSource
|
||||
protected boolean breakAfterAcquireFailure = false;
|
||||
|
||||
protected final AtomicLong commitCount = new AtomicLong();
|
||||
protected final AtomicLong startTransactionCount = new AtomicLong();
|
||||
protected final AtomicLong rollbackCount = new AtomicLong();
|
||||
|
||||
public long getCommitCount() {
|
||||
return commitCount.get();
|
||||
}
|
||||
|
||||
|
||||
public void incrementCommitCount() {
|
||||
commitCount.incrementAndGet();
|
||||
}
|
||||
|
||||
|
||||
public long getRollbackCount() {
|
||||
return rollbackCount.get();
|
||||
}
|
||||
|
||||
|
||||
public void incrementRollbackCount() {
|
||||
rollbackCount.incrementAndGet();
|
||||
}
|
||||
|
||||
public long getStartTransactionCount() {
|
||||
return startTransactionCount.get();
|
||||
}
|
||||
|
||||
public void incrementStartTransactionCount() {
|
||||
startTransactionCount.incrementAndGet();
|
||||
}
|
||||
|
||||
public boolean isBreakAfterAcquireFailure() {
|
||||
return breakAfterAcquireFailure;
|
||||
}
|
||||
|
||||
@@ -39,6 +39,8 @@ public interface DruidAbstractDataSourceMBean {
|
||||
long getCommitCount();
|
||||
|
||||
long getRollbackCount();
|
||||
|
||||
long getStartTransactionCount();
|
||||
|
||||
int getQueryTimeout();
|
||||
|
||||
|
||||
@@ -127,6 +127,10 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
} finally {
|
||||
lock.unlock();
|
||||
}
|
||||
|
||||
commitCount.set(0);
|
||||
rollbackCount.set(0);
|
||||
startTransactionCount.set(0);
|
||||
}
|
||||
|
||||
public boolean isEnable() {
|
||||
|
||||
@@ -528,6 +528,10 @@ public class PoolableConnection implements PooledConnection, Connection {
|
||||
checkOpen();
|
||||
|
||||
try {
|
||||
if ((!autoCommit) && conn.getAutoCommit()) {
|
||||
holder.getDataSource().incrementStartTransactionCount();
|
||||
}
|
||||
|
||||
conn.setAutoCommit(autoCommit);
|
||||
} catch (SQLException ex) {
|
||||
handleException(ex);
|
||||
|
||||
Reference in New Issue
Block a user