apache的GenericObjectPool對象池使用經曆!

來源:互聯網
上載者:User

標籤:spark kafka redis genericobjectpoolconfig genericobjectpool

今天,對照晚上的kafka+Spark streaming+Redis即時資料分析系統實戰(https://www.iteblog.com/archives/1378

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


Redis一直沒用過,所以比較犯難,果然,在前面都沒什麼問題,後面的redis部分,遇到了一個問題:

沒有發現GenericObjectPoolConfig這個類。


百度了好久,一直找不到解決的辦法,後來,才明白,這應該是個maven的庫包,所以,在

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

這頁,找到了maven的配置依賴資訊:

<dependency>

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

    <artifactId>commons-pool2</artifactId>

    <version>2.2</version>

</dependency>


果斷在pom.xml中添加,一番動作之後,OK了!


順便研究了一下這個GenericObjectPool玩意,初步瞭解了GenericObjectPool是apache提供的對象池。


對象池建立(參考GenericObjectPool):

  • public GenericObjectPool(PoolableObjectFactory factory, GenericObjectPool.Config config) : 此方法建立一個GenericObjectPool執行個體,GenericObjectPool類已經實現了和對象池有關的所有核心操作,開發人員可以通過繼承或者封裝的方式來使用它.通過此建構函式,我們能夠清晰的看到,一個Pool中需要指定PoolableObjectFactory 執行個體,以及此對象池的Config資訊.PoolableObjectFactory主要用來"建立新對象",比如當對象池中的對象不足時,可以使用 PoolableObjectFactory.makeObject()方法來建立對象,並交付給Pool管理.

    此建構函式執行個體化了一個LinkedList作為"對象池"容器,用來存取"對象".此外還會根據timeBetweenEvictionRunsMillis的值來決定是否啟動一個後台線程,此線程用來周期性掃描pool中的對象列表,已檢測"對象池中的對象"空閑(idle)的時間是否達到了閥值,如果是,則移除此對象.




本文先記錄下幾個相關的網頁,以備不時之需:

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對象池使用最佳化



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



4、apache-common pool的使用

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



當然啦,最值得保留的,應該是maven的中央資產庫:http://maven.outofmemory.cn/



apache的GenericObjectPool對象池使用經曆!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.