溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

apache的GenericObjectPool對(duì)象池使用經(jīng)歷!

發(fā)布時(shí)間:2020-06-02 13:23:08 來(lái)源:網(wǎng)絡(luò) 閱讀:1898 作者:moviebat 欄目:大數(shù)據(jù)

今天,對(duì)照晚上的kafka+Spark streaming+Redis實(shí)時(shí)數(shù)據(jù)分析系統(tǒng)實(shí)戰(zhàn)(https://www.iteblog.com/archives/1378

主要目的是整合kafka和Spark,Redis。


Redis一直沒(méi)用過(guò),所以比較犯難,果然,在前面都沒(méi)什么問(wèn)題,后面的redis部分,遇到了一個(gè)問(wèn)題:

沒(méi)有發(fā)現(xiàn)GenericObjectPoolConfig這個(gè)類(lèi)。


百度了好久,一直找不到解決的辦法,后來(lái),才明白,這應(yīng)該是個(gè)maven的庫(kù)包,所以,在

http://maven.outofmemory.cn/org.apache.commons/commons-pool2/2.2/

這頁(yè),找到了maven的配置依賴(lài)信息:

<dependency>

    <groupId>org.apache.commons</groupId>

    <artifactId>commons-pool2</artifactId>

    <version>2.2</version>

</dependency>


果斷在pom.xml中添加,一番動(dòng)作之后,OK了!


順便研究了一下這個(gè)GenericObjectPool玩意,初步了解了GenericObjectPool是apache提供的對(duì)象池。


對(duì)象池創(chuàng)建(參考GenericObjectPool):

  • public GenericObjectPool(PoolableObjectFactory factory, GenericObjectPool.Config config) : 此方法創(chuàng)建一個(gè)GenericObjectPool實(shí)例,GenericObjectPool類(lèi)已經(jīng)實(shí)現(xiàn)了和對(duì)象池有關(guān)的所有核心操作,開(kāi)發(fā)者可以通過(guò)繼承或者封裝的方式來(lái)使用它.通過(guò)此構(gòu)造函數(shù),我們能夠清晰的看到,一個(gè)Pool中需要指定PoolableObjectFactory 實(shí)例,以及此對(duì)象池的Config信息.PoolableObjectFactory主要用來(lái)"創(chuàng)建新對(duì)象",比如當(dāng)對(duì)象池中的對(duì)象不足時(shí),可以使用 PoolableObjectFactory.makeObject()方法來(lái)創(chuàng)建對(duì)象,并交付給Pool管理.

    此構(gòu)造函數(shù)實(shí)例化了一個(gè)LinkedList作為"對(duì)象池"容器,用來(lái)存取"對(duì)象".此外還會(huì)根據(jù)timeBetweenEvictionRunsMillis的值來(lái)決定是否啟動(dòng)一個(gè)后臺(tái)線(xiàn)程,此線(xiàn)程用來(lái)周期性?huà)呙鑠ool中的對(duì)象列表,已檢測(cè)"對(duì)象池中的對(duì)象"空閑(idle)的時(shí)間是否達(dá)到了閥值,如果是,則移除此對(duì)象.




本文先記錄下幾個(gè)相關(guān)的網(wǎng)頁(yè),以備不時(shí)之需:

1、GenericObjectPool源碼分析:

http://www.cnblogs.com/chenjian5/p/5149312.html


2、GenericObjectPool的javadoc

http://commons.apache.org/proper/commons-pool/api-1.6/org/apache/commons/pool/impl/GenericObjectPool.html


3、GenericObjectPool對(duì)象池使用優(yōu)化



http://www.jianshu.com/p/397169e211de



4、apache-common pool的使用

http://www.open-open.com/lib/view/open1415453575730.html



當(dāng)然啦,最值得保留的,應(yīng)該是maven的中央資源庫(kù):http://maven.outofmemory.cn/



向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI