mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
support transactionQueryTimeout
This commit is contained in:
@@ -132,6 +132,7 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements
|
||||
protected Driver driver;
|
||||
|
||||
protected int queryTimeout;
|
||||
protected int transactionQueryTimeout;
|
||||
|
||||
protected long createErrorCount;
|
||||
|
||||
@@ -201,6 +202,18 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements
|
||||
|
||||
private final AtomicLong executeCount = new AtomicLong();
|
||||
|
||||
public int getTransactionQueryTimeout() {
|
||||
if (transactionQueryTimeout <= 0) {
|
||||
return queryTimeout;
|
||||
}
|
||||
|
||||
return transactionQueryTimeout;
|
||||
}
|
||||
|
||||
public void setTransactionQueryTimeout(int transactionQueryTimeout) {
|
||||
this.transactionQueryTimeout = transactionQueryTimeout;
|
||||
}
|
||||
|
||||
public long getExecuteCount() {
|
||||
return executeCount.get();
|
||||
}
|
||||
@@ -1029,7 +1042,11 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements
|
||||
return transactionIdSeed.getAndIncrement();
|
||||
}
|
||||
|
||||
void initStatement(Statement stmt) throws SQLException {
|
||||
void initStatement(PoolableConnection conn, Statement stmt) throws SQLException {
|
||||
boolean transaction = !conn.getConnectionHolder().isUnderlyingAutoCommit();
|
||||
|
||||
int queryTimeout = transaction ? getTransactionQueryTimeout() : getQueryTimeout();
|
||||
|
||||
if (queryTimeout > 0) {
|
||||
stmt.setQueryTimeout(queryTimeout);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user