Я должен решить который платформа конфигурации использовать. В данный момент я думаю между использованием файлов свойств и XML-файлами. Моя конфигурация должна иметь некоторую примитивную группировку, например, в формате XML было бы что-то как:
<configuration>
<group name="abc">
<param1>value1</param1>
<param2>value2</param2>
</group>
<group name="def">
<param3>value3</param3>
<param4>value4</param4>
</group>
</configuration>
или файл свойств (что-то подобное log4j.properties):
group.abc.param1 = value1
group.abc.param2 = value2
group.def.param3 = value3
group.def.param4 = value4
Мне нужно двунаправленный (чтение и запись) библиотека/платформа конфигурации. Хорошая функция была бы - что я мог считать так или иначе различные группы конфигурации как различные объекты, таким образом, я мог позже передать их различным местам, например, - чтение всего, что принадлежит группе "abc" как один объект и "определение" как другой. Если это не возможно, я могу всегда разделять единственный объект конфигурации на меньшие сам в части инициализации приложения, конечно.
Которому платформа лучше всего соответствовала бы для меня?
Поскольку вы говорите, что можно также хранить объекты в конфигурации, я бы предложил следующее:
Самый простой способ сделать это - использовать Simple XML. Он может очень просто привязать XML к Java POJO. Кроме того, это намного быстрее, чем другие подобные структуры привязки XML.
Только 270K без зависимостей.
Взгляните на этот URL: http://issues.apache.org/jira/browse/CONFIGURATION-394
Фреймворк конфигурации, который мы ищем, является чем-то поверх Apache Commons Configuration и должен поддерживать проблемы параллелизма, JMX и большинство хранилищ (например, файл .properties, файлы .xml или PreferencesAPI).
Что команда weblogic предоставляет на «Консоли администрирования», так это то, что с ее помощью вы можете получать транзакционные (атомарные) обновления конфигураций, чтобы зарегистрированные слушатели получали уведомления.
Ребята из Apache настаивают, что этот проект, возможно, выходит за рамки Commons Configuration!
Я прикрепил простую структуру конфигурации, посмотрите, пожалуйста