-
Notifications
You must be signed in to change notification settings - Fork 8.6k
ExceptionSorter_cn
weixliu edited this page Nov 14, 2017
·
5 revisions
当网络断开或者数据库服务器Crash时,连接池里面会存在“不可用连接”,连接池需要一种机制剔除这些“不可用连接”。在Druid和JBoss连接池中,剔除“不可用连接”的机制称为ExceptionSorter,实现的原理是根据异常类型/Code/Reason/Message来识别“不可用连接”。没有类似ExceptionSorter的连接池,在数据库重启或者网络中断之后,不能恢复工作,所以ExceptionSorter是连接池是否稳定的重要标志。
在Druid中,会根据连接池连接数据库的类型自动匹配不同类型的ExceptionSorter,不需要额外配置。这一点Druid和jboss是不同的。
dbType | ExceptionSorter Implementation | description |
---|---|---|
DB2 | com.alibaba.druid.pool.vendor.DB2ExceptionSorter | |
Informix | com.alibaba.druid.pool.vendor.InformixExceptionSorter | |
SQL Server | com.alibaba.druid.pool.vendor.MSSQLValidConnectionChecker | |
MySQL | com.alibaba.druid.pool.vendor.MySqlExceptionSorter | 支持OceanBase和阿里云RDS特定的ErrorCode |
Oracle | com.alibaba.druid.pool.vendor.OracleExceptionSorter | |
Postgresql | com.alibaba.druid.pool.vendor.PGExceptionSorter | |
Sybase | com.alibaba.druid.pool.vendor.SybaseExceptionSorter |