java代碼獲取dbcp java代碼獲取進程號

java中dbcp什么 意思

DataBase Connection Pool,數(shù)據(jù)庫連接池,是apache開發(fā)的一個對數(shù)據(jù)庫連接對象的一個封裝組件,通過dbcp來管理程序與數(shù)據(jù)庫之間的連接,程序通過dbcp來取得連接而不再直接建立與數(shù)據(jù)庫的連接

成都創(chuàng)新互聯(lián)公司不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對營銷、技術(shù)、服務(wù)都有自己獨特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的網(wǎng)站設(shè)計、網(wǎng)站建設(shè)質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時,也能得到同行業(yè)的專業(yè)認可,能夠為行業(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術(shù)創(chuàng)新,服務(wù)升級,滿足企業(yè)一站式成都營銷網(wǎng)站建設(shè)需求,讓再小的高端網(wǎng)站設(shè)計也能產(chǎn)生價值!

dbcp連接池配置詳解

首先,明確連接、活動連接(連接正被使用)、空閑連接的概念

一、創(chuàng)建連接

1、初始化 2、空閑連接低于最小空閑minIdle

二、銷毀連接

1、空閑連接數(shù)目高于最大空閑 2、活動連接被遺棄

三、回收行為

1、空閑連接回收器(定時執(zhí)行)2、連接回收器(maxwait后觸發(fā))

initialSize 初始化連接數(shù),即連接池啟動時池子中的連接數(shù)目

maxActive 最大活動連接數(shù),即連接池中可同時連接的最大數(shù)目

minIdle 最小空閑連接,連接池中最少的空閑的連接數(shù),

低于這個數(shù)量時,意味著連接不夠用了,會被創(chuàng)建新的連接

默認為0,該參數(shù)越接近maxIdle,性能越好,因為連接的創(chuàng)建和銷毀,都是需要消耗資源的;

不宜太大,因為在機器很空閑的時候,也會創(chuàng)建低于minidle個數(shù)的連接,類似于jvm參數(shù)中的Xmn設(shè)置。

maxIdle 最大空閑連接

超過此參數(shù)時空閑連接將被釋放,如果設(shè)置為負數(shù)表示不限制

默認為8個,maxIdle不能設(shè)置太小,因為假如在高負載的情況下,連接的打開時間比關(guān)閉的時間快,會引起連接池中idle的個數(shù)上升超過maxIdle,而造成頻繁的連接銷毀和創(chuàng)建,類似于jvm參數(shù)中的Xmx設(shè)置。

maxIdle 最大空閑連接

超過此參數(shù)時空閑連接將被釋放,如果設(shè)置為負數(shù)表示不限制

默認為8個,maxIdle不能設(shè)置太小,因為假如在高負載的情況下,連接的打開時間比關(guān)閉的時間快,會引起連接池中idle的個數(shù)上升超過maxIdle,而造成頻繁的連接銷毀和創(chuàng)建,類似于jvm參數(shù)中的Xmx設(shè)置

maxWait 請求連接時,最長的等待時間。

單位ms,當沒有可用連接時,連接池會等待連接釋放,超過該時間限制會拋出異常,如果設(shè)置-1表示無限等待(默認為無限)。

java 數(shù)據(jù)庫操作DBCP包問題

直接寫?myDataSource=?BasicDataSourceFactory.createDataSource(prop);

編譯會報錯么?

另外你使用的dbcp是什么版本?

我的1.4版本是正常的。

java 代碼用dbcp 怎么替換

1,連接池創(chuàng)建

BasicDataSource - DataSource

@Override

public Connection getConnection()

【a】createDataSource()

如果dataSource不為空,則返回數(shù)據(jù)源對象,否則創(chuàng)建之,如下:

【1】createConnectionFactory()

(a)通過配置參數(shù)property name="driverClassName" value="${jdbc.driver}" /,加載驅(qū)動類Class.forName(driverClassName);

(b)通過配置參數(shù)property name="url" value="${jdbc.url}" /,獲取驅(qū)動DriverManager.getDriver(url);

(c)通過配置參數(shù)property name="username" value="${jdbc.username}" /,property name="password" value="${jdbc.password}" /,

以及driver,url,創(chuàng)建數(shù)據(jù)庫連接工廠new DriverConnectionFactory(driver, url, connectionProperties);

【2】createConnectionPool()

(a)通過配置參數(shù):property name="maxActive" value="${dbcp.maxActive}" /

property name="maxIdle" value="${dbcp.maxIdle}" /

property name="minIdle" value="${dbcp.minIdle}" /

等配置項,創(chuàng)建連接池org.apach.commons.pool.impl.GenericObjectPool connectionPool

commons-dbcp本身不創(chuàng)建連接池,通過commons-pool來管理連接池

(b)GenericObjectPool.addObject()中調(diào)用下步創(chuàng)建的連接池工廠類,創(chuàng)建連接,并通過addObjectToPool(obj, false);將連接保存在連接池

【4】createPoolableConnectionFactory(driverConnectionFactory, statementPoolFactory, abandonedConfig)

(a)創(chuàng)建連接池工廠類PoolableConnectionFactory,工廠類內(nèi)部將該工廠設(shè)置到上步創(chuàng)建的connectionPool中,這樣就可以通過connectionPool中的addObject()調(diào)用連接池工廠創(chuàng)建連接

【5】createDataSourceInstance()

(a)根據(jù)連接池connectionPool創(chuàng)建池化數(shù)據(jù)源對象 PoolingDataSource pds = new PoolingDataSource(connectionPool)

【6】初始化連接

for (int i = 0 ; i initialSize ; i++) {

connectionPool.addObject();

}

【7】返回池化數(shù)據(jù)庫連接對象dataSource

【b】getConnection()

【1】_pool.borrowObject();調(diào)用【a】-【2】創(chuàng)建的連接池創(chuàng)建連接

(a)_factory.makeObject();調(diào)用【a】-【4】創(chuàng)建的連接池工廠類對象,返回new PoolableConnection(conn,_pool,_config);對象

其中PoolableConnection持有【a】-【2】創(chuàng)建的連接池_pool,當PoolableConnection.close()時,該連接會被_pool回收,_pool.returnObject(this);

名稱欄目:java代碼獲取dbcp java代碼獲取進程號
轉(zhuǎn)載來于:http://muchs.cn/article26/hgeicg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、網(wǎng)站維護App設(shè)計、營銷型網(wǎng)站建設(shè)、微信小程序做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)