0

我有一个以 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 对象池的信息,但如果我理解正确,我不能用它存储 fe 5 个不同的实体,然后询问池中是否存在具有特定 id 的实体。

有没有可以帮助我解决问题的图书馆?非常感谢!

4

1 回答 1

0

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

“键控”池接口。

键控池为每个键值维护一个实例池。

于 2014-11-04T12:38:44.820 回答