У меня есть приложение, которое хранит данные в XML. Когда пользователь запрашивает данные, XML анализируется на сущности, которые затем показываются ему через нечто вроде сервлета.Пул ресурсов Java
Моя проблема заключается в том, что после каждого обновления, что-то вроде сервлета необходимо обработать данные снова, а синтаксический анализ 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 разных сущностей, а затем спросить, существует ли сущность с определенным идентификатором в пуле.
Есть ли библиотека, которая может помочь с моей проблемой? Большое спасибо!
Попытайтесь также изучить рамки кэширования. (например, ehcache, oscache и т. д.) –