Druid-目前最好的連線池
轉載自 Druid-目前最好的連線池
Druid是什麼
Druid是阿里開源的連線池,是Java語言中最好的資料庫連線池.Druid能夠提供強大的監控和擴充套件功能,是為監控而生的資料庫連線池!
GitHub:https://github.com/alibaba/druid/
新增依賴
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.2</version> </dependency>
參考配置
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 基本屬性 url、user、password --> <property name="url" value="${jdbc_url}" /> <property name="username" value="${jdbc_user}" /> <property name="password" value="${jdbc_password}" /> <!-- 配置初始化大小、最小、最大 --> <property name="initialSize" value="1" /> <property name="minIdle" value="1" /> <property name="maxActive" value="20" /> <!-- 配置獲取連線等待超時的時間 --> <property name="maxWait" value="60000" /> <!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="60000" /> <!-- 配置一個連線在池中最小生存的時間,單位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="300000" /> <property name="validationQuery" value="SELECT 'x'" /> <property name="testWhileIdle" value="true" /> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" value="false" /> <!-- 開啟PSCache,並且指定每個連線上PSCache的大小 --> <property name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="20" /> <!-- 配置監控統計攔截的filters --> <property name="filters" value="stat" /> </bean>
通常來說,只需要修改initialSize、minIdle、maxActive。
如果用Oracle,則把poolPreparedStatements配置為true,mysql可以配置為false。分庫分表較多的資料庫,建議配置為false。
連線池監控
在web.xml中加入以下配置:
<!-- Druid連線池監控 --> <servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>DruidStatView</servlet-name> <url-pattern>/druid/*</url-pattern> </servlet-mapping> <filter> <filter-name>DruidWebStatFilter</filter-name> <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class> <init-param> <param-name>exclusions</param-name> <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value> </init-param> </filter> <filter-mapping> <filter-name>DruidWebStatFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
非常強大的監控頁面!
相關文章
- 連線池
- Go連線池Go
- HTTP連線池HTTP
- django連線池Django
- Http持久連線與HttpClient連線池HTTPclient
- 連線池和連線數詳解
- golang連線MySQL時候的連線池設定GolangMySql
- Tomcat 的 JDBC 連線池TomcatJDBC
- Proxool 連線池的配置使用
- 有關連線池的疑惑。
- HikariCP連線池的學習
- ElasticSearch連線池建立Elasticsearch
- 自定義連線池
- golang tcp連線池GolangTCP
- Oracle 連線池配置Oracle
- oracle occi 連線池Oracle
- Resin 配置連線池
- [尋]連線池例子
- proxool連線池 配置
- 連線池 druidUI
- java連線池解決連線中斷Java
- proxool連線池如何使用SSL方式連線?
- ServiceStack.Redis的原始碼分析(連線與連線池)Redis原始碼
- Swoole MySQL 連線池的實現MySql
- 資料庫連線池的理解資料庫
- 資料庫連線池的使用資料庫
- WASCE的資料庫連線池資料庫
- (請問)weblogic的連線池Web
- 關於連線池的問題!
- C#中的連線池管理C#
- Golang SQL連線池梳理GolangSQL
- go 語言連線池Go
- DBCP連線池原理分析
- Hibernate連線池配置
- Tomcat連線池使用Tomcat
- 資料庫連線池資料庫
- 利用weblogic的POOL(連線池)連線資料庫 (轉)Web資料庫
- 【MySQL】自定義資料庫連線池和開源資料庫連線池的使用MySql資料庫