From 2df78b18da89cbdbdb3e32050500d2c9510591c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B8=A9=E5=B0=91?= Date: Sat, 17 Mar 2012 03:52:32 +0800 Subject: [PATCH] compatible for 0.1.18 --- .../alibaba/druid/filter/stat/StatFilter.java | 9 ++++- .../druid/proxy/jdbc/ConnectionProxyImpl.java | 2 + .../druid/proxy/jdbc/TransactionInfo.java | 40 ++----------------- .../alibaba/druid/util/TransactionInfo.java | 40 +++++++++++++++++-- 4 files changed, 50 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/alibaba/druid/filter/stat/StatFilter.java b/src/main/java/com/alibaba/druid/filter/stat/StatFilter.java index ce2f391cee..d710759a2f 100644 --- a/src/main/java/com/alibaba/druid/filter/stat/StatFilter.java +++ b/src/main/java/com/alibaba/druid/filter/stat/StatFilter.java @@ -39,6 +39,7 @@ import com.alibaba.druid.proxy.jdbc.ResultSetProxy; import com.alibaba.druid.proxy.jdbc.StatementProxy; import com.alibaba.druid.stat.JdbcConnectionStat; import com.alibaba.druid.stat.JdbcDataSourceStat; +import com.alibaba.druid.stat.JdbcResultSetStat; import com.alibaba.druid.stat.JdbcSqlStat; import com.alibaba.druid.stat.JdbcStatContext; import com.alibaba.druid.stat.JdbcStatManager; @@ -53,8 +54,15 @@ public class StatFilter extends FilterEventAdapter implements StatFilterMBean { public final static String ATTR_SQL = "stat.sql"; public final static String ATTR_UPDATE_COUNT = "stat.updteCount"; + public final static String ATTR_TRANSACTION = "stat.tx"; protected JdbcDataSourceStat dataSourceStat; + + @Deprecated + protected final JdbcStatementStat statementStat = JdbcStatManager.getInstance().getStatementStat(); + + @Deprecated + protected final JdbcResultSetStat resultSetStat = JdbcStatManager.getInstance().getResultSetStat(); private boolean connectionStackTraceEnable = false; @@ -630,7 +638,6 @@ public class StatFilter extends FilterEventAdapter implements StatFilterMBean { return (JdbcSqlStat) statement.getAttributes().get(ATTR_SQL); } - @Deprecated public JdbcSqlStat getSqlCounter(String sql) { return getSqlStat(sql); } diff --git a/src/main/java/com/alibaba/druid/proxy/jdbc/ConnectionProxyImpl.java b/src/main/java/com/alibaba/druid/proxy/jdbc/ConnectionProxyImpl.java index b1d3ace542..156a4c87e1 100644 --- a/src/main/java/com/alibaba/druid/proxy/jdbc/ConnectionProxyImpl.java +++ b/src/main/java/com/alibaba/druid/proxy/jdbc/ConnectionProxyImpl.java @@ -38,6 +38,7 @@ import java.util.concurrent.Executor; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.filter.FilterChainImpl; +import com.alibaba.druid.filter.stat.StatFilter; /** * @author wenshao @@ -295,6 +296,7 @@ public class ConnectionProxyImpl extends WrapperProxyImpl implements ConnectionP if (transcationInfo == null) { long transactionId = this.dataSource.createTransactionId(); transcationInfo = new TransactionInfo(transactionId); + this.getAttributes().put(StatFilter.ATTR_TRANSACTION, transcationInfo); // compatible for druid 0.1.18 } } else { transcationInfo = null; diff --git a/src/main/java/com/alibaba/druid/proxy/jdbc/TransactionInfo.java b/src/main/java/com/alibaba/druid/proxy/jdbc/TransactionInfo.java index 3faa343ccb..2ab116eb75 100644 --- a/src/main/java/com/alibaba/druid/proxy/jdbc/TransactionInfo.java +++ b/src/main/java/com/alibaba/druid/proxy/jdbc/TransactionInfo.java @@ -15,45 +15,11 @@ */ package com.alibaba.druid.proxy.jdbc; -import java.util.ArrayList; -import java.util.List; - -public class TransactionInfo { - - private final long id; - private final List sqlList = new ArrayList(); - private final long startTimeMillis; - private long endTimeMillis; +// compatible for druid 0.1.19 +public class TransactionInfo extends com.alibaba.druid.util.TransactionInfo { public TransactionInfo(long id){ - this.id = id; - this.startTimeMillis = System.currentTimeMillis(); - } - - public long getId() { - return id; - } - - public List getSqlList() { - return sqlList; - } - - public long getStartTimeMillis() { - return startTimeMillis; - } - - public long getEndTimeMillis() { - return endTimeMillis; - } - - public void setEndTimeMillis() { - if (endTimeMillis == 0) { - endTimeMillis = System.currentTimeMillis(); - } - } - - public void setEndTimeMillis(long endTimeMillis) { - this.endTimeMillis = endTimeMillis; + super(id); } } diff --git a/src/main/java/com/alibaba/druid/util/TransactionInfo.java b/src/main/java/com/alibaba/druid/util/TransactionInfo.java index ae80395996..75e6705864 100644 --- a/src/main/java/com/alibaba/druid/util/TransactionInfo.java +++ b/src/main/java/com/alibaba/druid/util/TransactionInfo.java @@ -1,10 +1,44 @@ package com.alibaba.druid.util; -@Deprecated -public class TransactionInfo extends com.alibaba.druid.proxy.jdbc.TransactionInfo { +import java.util.ArrayList; +import java.util.List; + +public class TransactionInfo { + + private final long id; + private final List sqlList = new ArrayList(); + private final long startTimeMillis; + private long endTimeMillis; public TransactionInfo(long id){ - super(id); + this.id = id; + this.startTimeMillis = System.currentTimeMillis(); + } + + public long getId() { + return id; + } + + public List getSqlList() { + return sqlList; + } + + public long getStartTimeMillis() { + return startTimeMillis; + } + + public long getEndTimeMillis() { + return endTimeMillis; + } + + public void setEndTimeMillis() { + if (endTimeMillis == 0) { + endTimeMillis = System.currentTimeMillis(); + } + } + + public void setEndTimeMillis(long endTimeMillis) { + this.endTimeMillis = endTimeMillis; } }