1. 程式人生 > >BoneCP資料來源配置詳解

BoneCP資料來源配置詳解

BoneCP是一個快速,開源的資料庫連線池。幫你管理資料連線讓你的應用程式能更快速地訪問資料庫。

比C3P0/DBCP連線池快25倍。

為什麼 BoneCP 連線池的效能這麼高呢?

1. BoneCP 不用 synchronized 關鍵字來處理多執行緒對資源的爭用,而是使用 java.util.concurrent 包中的鎖機制,這個包是在 JDK 1.5 才開始有的;

2. 分割槽機制,儘管使用了鎖,但還是存在著資源爭用的問題,因此 BoneCP 可配置多個連線池分割槽,每個分割槽獨立管理,互不影響。

儘管連線池的效能並不會是一個系統中的瓶頸,但是我們單純從連線池這個角度來看 BoneCP ,也是值得我們去學習的。

²     JDBC連線屬於資料來源

// load the DB driver

Class.forName("org.hsqldb.jdbcDriver");      

// create a new datasource object

BoneCPDataSource ds = new BoneCPDataSource(); 

// set the JDBC url

ds.setJdbcUrl("jdbc:hsqldb:mem:test");              

// set the username

ds.setUsername("sa");                        

// set the password

ds.setPassword("");                          

// (other config options here)

ds.setXXXX(...);                             

Connection connection;

connection = ds.getConnection();             

// fetch a connection

...  do something with the connection here ...

// close the connection

connection.close();                          

// close the datasource pool

ds.close();                

²     Spring配置資料來源

<!-- BoneCP configuration -->
<bean id="mainDataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close">
   <property name="driverClass" value="com.mysql.jdbc.Driver" />
   <property name="jdbcUrl" value="jdbc:mysql://127.0.0.1/yourdb" />
   <property name="username" value="root"/>
   <property name="password" value="abcdefgh"/>
   <property name="idleConnectionTestPeriod" value="60"/>
   <property name="idleMaxAge" value="240"/>
   <property name="maxConnectionsPerPartition" value="30"/>
   <property name="minConnectionsPerPartition" value="10"/>
   <property name="partitionCount" value="3"/>
   <property name="acquireIncrement" value="5"/>
   <property name="statementCacheSize" value="100"/>
   <property name="releaseHelperThreads" value="3"/>
</bean>

²     Spring+Hibernate配置資料來源

<!-- Hibernate SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean"               autowire="autodetect">
<property name="hibernateProperties">
<props>
<prop key="hibernate.connection.provider_class">com.jolbox.bonecp.provider.BoneCPConnectionProvider</prop>
<prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>
<prop key="hibernate.connection.url">jdbc:mysql://127.0.0.1/yourdb</prop>
<prop key="hibernate.connection.username">root</prop>
<prop key="hibernate.connection.password">abcdefgh</prop>
<prop key="bonecp.idleMaxAge">240</prop>
<prop key="bonecp.idleConnectionTestPeriod">60</prop>
<prop key="bonecp.partitionCount">3</prop>
<prop key="bonecp.acquireIncrement">10</prop>
<prop key="bonecp.maxConnectionsPerPartition">60</prop>
<prop key="bonecp.minConnectionsPerPartition">20</prop>
<prop key="bonecp.preparedStatementCacheSize">50</prop>
<prop key="bonecp.statementsCachedPerConnection">30</prop>
<prop key="bonecp.releaseHelperThreads">3</prop>
</props>
</property>
</bean>

相關推薦

BoneCP資料來源配置

BoneCP是一個快速,開源的資料庫連線池。幫你管理資料連線讓你的應用程式能更快速地訪問資料庫。 比C3P0/DBCP連線池快25倍。 為什麼 BoneCP 連線池的效能這麼高呢? 1. BoneCP 不用 synchronized 關鍵字來處理多執行緒對資源的

dbcp2資料來源配置

DBCP2詳細的配置表 常用連結配置 引數 描述 username 傳遞給JDBC驅動的用於建立連線的使用者名稱 password 傳遞給JDBC驅動的用於建立連線的密碼 url

HikariCP配置+多資料來源

                        SpringBo

SpringBoot多資料來源及MyBatis配置

前言 最近迫於專案需要,筆者踏上了springboot多資料來源的配置之旅。之前筆者配置過spring的動態多資料來源切換,當時使用的是JDBC Template。 目前專案中持久化框架使用是mybatis,經過分析後不難發現,多資料來源配置需要解決兩個問題,一個是由原先的spring經典方式切換到了

資料庫配置-DBCP資料來源配置

資料庫連線使用DBCP的方式連線spring 配置 <!-- DBCP資料來源 driverClassName:驅動名 url:資料庫地址 username:登入名 password:登

Spring Boot 2.x基礎教程:預設資料來源Hikari的配置

通過上一節的學習,我們已經學會如何應用Spring中的JdbcTemplate來完成對MySQL的資料庫讀寫操作。接下來通過本篇文章,重點說說在訪問資料庫過程中的一個重要概念:資料來源(Data Source),以及Spring Boot中對資料來源的建立與配置。 基本概念 在開始說明Spring Boot中

setting.xml 配置

校驗 找不到 順序 裁剪 全局 -- mls leg 觸發 文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用戶配置: ${user.home}/.m2/settings.xml note:用戶配置優先於全局配置。${user.home}

【Spring】Spring MVC原理及配置

進行 return sub sca scrip uil 線程安全 松耦合 必須 1.Spring MVC概述: Spring MVC是Spring提供的一個強大而靈活的web框架。借助於註解,Spring MVC提供了幾乎是POJO的開發模式,使得控制器的開發和測試更加簡

kafka參數配置

kafka 參數 broker.idbroker的唯一標識符,如果不配置則自動生成,建議配置且一定要保證集群中必須唯一,默認-1log.dir日誌數據存放的目錄,默認/tmp/kafka-logslog.dirs日誌數據存放的目錄,如果沒有配置則使用log.dir,建議此項配置。zookeeper.c

Lnux系統網卡綁定配置

ole osd 接口 當前 onf prim multi pac lin 一、CentOS 配置網卡綁定(bonding) 1、bonding概述 (1)作用:就是將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。當然,直接給兩塊網卡設置同一IP地址是不可

Nginx配置

set 文件結構 時也 解決方案 ces 反向代理服務器 use 力量 第三方模塊 最近在搞nginx和tomcat 以及apache的集群。下面是參考的一片很不錯的關於nginx配置的詳細講解: http://www.cnblogs.com/knowledgesea/p/

Apache配置

搜索 相對 第一個 form 執行權限 php 時有 多個 direct Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。 主站點的配置(基本配置) (1) 基本配置: ServerRoot "/mnt/softwa

緩存varnish的管理及配置

啟動 一個 hint 單位 quad spec int rom try 一 工作原理 在當前主流的Web服務架構體系中,Cache擔任著越來越重要的作用。常見的基於瀏覽器的C/S架構,Web Cache更是節約服務器資源的關鍵。而最近幾年由FreeBSD創始人之一Kamp開

日誌配置

lin XML html表格 記錄 文件中 對齊方式 oca read val #①配置根Logger,其語法為: # #log4j.rootLogger = [level],appenderName,appenderName2,... #level是日誌記錄的優先級,分為

phpmyadmin配置

php phpmyadmin配置文件中的一個,路徑為libraries/config.default.php,可以修改若幹配置,其中,only_db可以配置在web端顯示的數據庫本文出自 “12968673” 博客,請務必保留此出處http://12978673.blog.51cto.com/1296867

DNS配置 bind實現正向解析和反向解析

cell 8.4 -s intern 資源記錄 ted borde linux系統 ans DNS是域名服務(Domain Name Service),負責把域名解析成IP地址(正向解析)或者把IP地址解析為域名(反向解析)。 DNS查詢過程: 假設我們要訪問www.a

MySQL5.6 數據庫主從(Master/Slave)同步安裝與配置

inux bind 主從配置 希望 master 強調 數據庫主從 ria 配置文件 目錄(?)[+] 安裝環境 操作系統 :CentOS 6.5 數據庫版本:MySQL 5.6.27 主機A:192.168.1.1 (Master) 主機B:192.168.

web緩存服務器varnish-4.1.6的部署及配置

是否 次數 tool 至少 hits 檢查 rep nat list web緩存服務器varnish-4.1.6的部署及配置詳解 1.安裝varnish4.1.6安裝依賴 yum install -y autoconf automake jemalloc-devel li

web.xml配置

知識 其他 location 參數 pin systems doctype doc clu web.xml配置詳解 引文: 對於一個J2EE領域的程序員而言,基本上每天都會和web應用打交道。 什麽是web應用?最簡單的web應用什麽樣?給你一個web應用你該從何入手

mybatis一對一映射配置

技術分享 iat rom cti 加載 文件中 src 裏的 new 聽說mybatis一對一有三種寫法,今天我試了一下。 數據庫表準備 為了偷懶,我直接就拿用戶權限菜單裏的菜單表和菜單與權限的中間表做實現,他們原來是多對多的關系,這邊我假設這兩張表是一對一。 表 g