|
|
|
@@ -1,4 +1,4 @@ |
|
|
|
# Table of Contents
|
|
|
|
# 目录
|
|
|
|
|
|
|
|
* [简介](#简介)
|
|
|
|
* [使用例子](#使用例子)
|
|
|
|
@@ -436,8 +436,8 @@ lifo=true |
|
|
|
#多个参数用";"隔开
|
|
|
|
#connectionProperties=
|
|
|
|
|
|
|
|
#指定数据源的jmx名
|
|
|
|
#jmxName=
|
|
|
|
#指定数据源的jmx名。注意,配置了才能注册MBean
|
|
|
|
jmxName=cn.zzs.jmx:type=BasicDataSource,name=zzs001
|
|
|
|
|
|
|
|
#查询超时时间
|
|
|
|
#默认为空,即根据驱动设置
|
|
|
|
@@ -463,7 +463,7 @@ accessToUnderlyingConnectionAllowed=false |
|
|
|
|
|
|
|
研究之前,先来看下`BasicDataSource`的`UML`图:
|
|
|
|
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
这里介绍下这几个类的作用:
|
|
|
|
|
|
|
|
@@ -517,7 +517,7 @@ accessToUnderlyingConnectionAllowed=false |
|
|
|
if(dataSource != null) {
|
|
|
|
return dataSource;
|
|
|
|
}
|
|
|
|
// 注册MBean,用于支持JMX,这方面的内容不在这里扩展
|
|
|
|
// 注册MBean,用于支持JMX,这方面的内容不在这里扩展,相关内容可阅读我的另一篇博客:深入理解JMX
|
|
|
|
jmxRegister();
|
|
|
|
|
|
|
|
// 创建原生Connection工厂:本质就是持有数据库驱动对象和几个连接参数
|
|
|
|
@@ -553,7 +553,7 @@ accessToUnderlyingConnectionAllowed=false |
|
|
|
```
|
|
|
|
以上方法涉及到几个类,这里再补充下`UML`图。
|
|
|
|
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
| 类名 | 描述 |
|
|
|
|
@@ -566,7 +566,7 @@ accessToUnderlyingConnectionAllowed=false |
|
|
|
|
|
|
|
上面已经大致分析了数据源和连接池对象的获取过程,接下来研究下连接对象的获取。在此之前先了解下`DBCP`中几个`Connection`实现类。
|
|
|
|
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
类名|描述
|
|
|
|
-|-
|
|
|
|
|