Растущий XML с условиями изменения и статическими данными. В поисках альтернативы

В нашем Java-приложении мы использовали XML для поддержки статических данных и условий изменения. Теперь эти XML растут вне контроля. Что может быть альтернативой для поддержания наших статических данных и условий изменения, которые принесут нам пользу с точки зрения производительности и удобства использования?

Спасибо

1 ответ

Решение

Для того, что вы сказали, вы читаете файл XML в каждом запросе, если вы используете JAX-B или каким-то образом получаете в качестве объекта, после загрузки этих файлов сделайте Singleton ( http://en.wikipedia.org/wiki/Singleton_pattern) для Храните эти значения в памяти, таким образом, вы будете проверять XML только один раз и сохраните его в памяти, увеличивая производительность. Но если XML действительно огромный и вы не можете хранить его в памяти, я бы предложил поместить эту информацию в базу данных. Вы можете перенести все данные в базу данных или создать функцию обновления данных при запуске системы в соответствии с данными XML. Лучшее решение в этом сценарии с базой данных - это перенести все данные и больше не использовать XML. Чтобы измерить производительность каждого подхода, вы должны написать что-то вроде:

public static void main(String args[]) {
    Date initialDate = new Date();
    getXmlValue();// or getDBValue();
    Date finalDate = new Date();
    System.out.println("Load XML took " + (initialDate.getTime()-finalDate.getTime()) + "ms");
}
Другие вопросы по тегам