2010-03-09 21 views
6

Muszę zdecydować, której konfiguracji użyć. W tej chwili zastanawiam się, czy użyć plików właściwości i plików XML. Moja konfiguracja musi mieć jakieś pierwotne grupowanie, np. w formacie XML byłoby coś jak:Java: która struktura konfiguracji ma być używana?

<configuration> 
    <group name="abc"> 
     <param1>value1</param1> 
     <param2>value2</param2> 
    </group> 
    <group name="def"> 
     <param3>value3</param3> 
     <param4>value4</param4> 
    </group> 
</configuration> 

lub pliku właściwości (coś podobnego do log4j.properties):

group.abc.param1 = value1 
group.abc.param2 = value2 

group.def.param3 = value3 
group.def.param4 = value4 

muszę dwukierunkowy (odczyt i zapis) Biblioteka konfiguracji/ramy. Ciekawą funkcją byłoby - że mogłem odczytać w jakiś sposób różne grupy konfiguracyjne jako różne obiekty, więc mogłem później przekazać je do różnych miejsc, np. - czytanie wszystkiego, co należy do grupy "abc" jako jednego obiektu i "def" jako drugiego. Jeśli nie jest to możliwe, zawsze mogę samodzielnie podzielić obiekt pojedynczej konfiguracji na mniejsze w części inicjalizacji aplikacji.

Które ramy najlepiej by pasowały do ​​mnie?

Odpowiedz

4

Najprostszy sposób to zrobić byłoby użyć prostego XML. Może wiązać XML z obiektami POJO Java w bardzo prosty sposób. Ponadto jest znacznie szybszy niż inne takie struktury wiążące XML.

http://simple.sourceforge.net

Tylko 270K bez żadnych zależności.

1

Proszę spojrzeć pod tym adresem URL: http://issues.apache.org/jira/browse/CONFIGURATION-394

Ramy Konfiguracja których szukamy dla niego jest coś na górze Apache Commons konfiguracja i musi obsługiwać zagadnień, problemów współbieżności JMX i większość sklepów (np. plik właściwości, pliki .xml lub PreferencjeAPI).

To, co zespół weblogiczny zapewnia w "Konsoli administracyjnej", jest interesujące, dzięki niemu możesz mieć transakcyjne (atomowe) aktualizacje konfiguracji, dzięki czemu zarejestrowani słuchacze będą powiadamiani.

Faceci Apache twierdzą, że ten projekt jest poza zasięgiem konfiguracji Commons, być może!

Dołączyłem prostą konfigurację, przyjrzyj się proszę:

Powiązane problemy