[英]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.