簡體   English   中英

Java資源池

[英]Java resource pool

我有一個應用程序以XML存儲數據。 當用戶請求數據時,XML被解析為實體,然后通過類似servlet的方式顯示給他。

我的問題是,每次刷新后,類似servlet的服務器都必須再次處理數據,而且解析XML的成本很高。 XML太多,無法將所有數據存儲在內存中。

我在考慮諸如資源池之類的問題,程序會詢問池,池中是否有名稱為foo的實體。 如果存在,則從池中返回foo ,否則,從XML中創建foo並將其保存到池中。

像這樣:

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();
}

我已經閱讀過關於Apache對象池的信息,但是如果我對它的理解正確,我將無法存儲5個不同的實體,然后詢問池中是否存在具有特定ID的實體。

有沒有可以幫助解決我的問題的圖書館? 非常感謝!

如果您指的是Commons Pool,那么您可以看一下KeyedObjectPool接口。

“鍵控”池接口。

密鑰池為每個密鑰值維護一個實例池。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM