您好,登錄后才能下訂單哦!
今天,對照晚上的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/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。