我有一個存儲XML數據的應用程序。當用戶請求數據時,XML被解析成實體,然後通過類似於servlet的東西向他顯示。Java資源池
我的問題是,在每次刷新之後,類似servlet的服務器必須再次處理數據並解析XML代價很高。還有太多的XML將所有數據存儲在內存中。
我正在考慮像資源池,其中程序請求池,如果有實體名稱foo在池中。如果有,foo從池中返回,如果沒有,foo從XML創建並保存到池中。
事情是這樣的:
Entity entity = null;
entity.setId(id);
for(Entity entityFromPool : pool.getAllEntities()){
if(entityFromPool.getId().equals(entity.getId())){
entity = entityFromPool();
isInPool = True;
}
if(!isInPool){
entity = getEntityFromXML();
}
我看了一下阿帕奇對象池但如果我理解正確的話,我不能存儲F.E. 5個不同的實體,然後詢問具有特定ID的實體是否存在於池中。
有什麼圖書館可以幫助我解決問題嗎? 非常感謝!
試着也研究緩存框架。 (例如ehcache,oscache等) – 2014-11-04 12:46:11