我有一个存储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