From 97f763ce4b6f15503308196efe3575c008900f17 Mon Sep 17 00:00:00 2001 From: wenshao Date: Sun, 30 Jun 2013 17:36:06 +0800 Subject: [PATCH] fixed MySqlExceptionSorter --- .../pool/vendor/MySqlExceptionSorter.java | 23 +------------------ .../MySqlExceptionSorterTest_oceanbase.java | 3 ++- 2 files changed, 3 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/alibaba/druid/pool/vendor/MySqlExceptionSorter.java b/src/main/java/com/alibaba/druid/pool/vendor/MySqlExceptionSorter.java index b35240d67b..dbec6b9776 100644 --- a/src/main/java/com/alibaba/druid/pool/vendor/MySqlExceptionSorter.java +++ b/src/main/java/com/alibaba/druid/pool/vendor/MySqlExceptionSorter.java @@ -24,28 +24,8 @@ public class MySqlExceptionSorter implements ExceptionSorter { @Override public boolean isExceptionFatal(SQLException e) { - int loopCount = 20; - - Throwable cause = e; - while (cause != null) { - if (cause instanceof SQLException) { - SQLException sqlException = (SQLException) cause; - - if (isExceptionFatal0(sqlException)) { - return true; - } - } - cause = cause.getCause(); - if (--loopCount < 0) { - break; - } - } - return false; - } - - private boolean isExceptionFatal0(SQLException e) { String sqlState = e.getSQLState(); - final int errorCode = Math.abs(e.getErrorCode()); + final int errorCode = e.getErrorCode(); if (sqlState != null && sqlState.startsWith("08")) { return true; @@ -95,7 +75,6 @@ public class MySqlExceptionSorter implements ExceptionSorter { @Override public void configFromProperties(Properties properties) { - // TODO Auto-generated method stub } diff --git a/src/test/java/com/alibaba/druid/bvt/pool/vendor/MySqlExceptionSorterTest_oceanbase.java b/src/test/java/com/alibaba/druid/bvt/pool/vendor/MySqlExceptionSorterTest_oceanbase.java index 04bd235ed3..d162c663a6 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/vendor/MySqlExceptionSorterTest_oceanbase.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/vendor/MySqlExceptionSorterTest_oceanbase.java @@ -12,7 +12,8 @@ import com.alibaba.druid.pool.vendor.MySqlExceptionSorter; public class MySqlExceptionSorterTest_oceanbase extends TestCase { public void test_true() throws Exception { MySqlExceptionSorter sorter = new MySqlExceptionSorter(); - Assert.assertTrue(sorter.isExceptionFatal(new SQLException("", "", -9000))); + SQLException exception = new SQLException("", "", -9000); + Assert.assertTrue(sorter.isExceptionFatal(exception)); } public void test_true_1() throws Exception {