2010-03-09 17 views
6

Ich muss entscheiden, welches Konfigurationsframework verwendet werden soll. Im Moment denke ich über die Verwendung von Eigenschaftendateien und XML-Dateien nach. Meine Konfiguration muss einige primitive Gruppierungen haben, z. in XML-Format wäre so etwas wie:Java: Welches Konfigurationsframework soll verwendet werden?

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

oder ein Properties-Datei (etwas Ähnliches wie log4j.properties):

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

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

I bi-direktional (lesend und schreibend) Konfigurationsbibliothek/Rahmen benötigen. Ein nettes Feature wäre - dass ich irgendwie verschiedene Konfigurationsgruppen als verschiedene Objekte auslesen könnte, damit ich sie später an verschiedene Orte weiterleiten könnte, z. - alles lesen, was zur Gruppe "abc" gehört, als ein Objekt und "def" als ein anderes. Wenn das nicht möglich ist, kann ich ein einzelnes Konfigurationsobjekt immer selbst in die Anwendungsinitialisierung teilen.

Welcher Rahmen passt am besten zu mir?

Antwort

4

Der einfachste Weg, dies zu tun wäre Einfache XML zu verwenden. Es kann XML auf sehr einfache Weise an Java POJOs binden. Außerdem ist es viel schneller als andere solche XML-bindenden Frameworks.

http://simple.sourceforge.net

Nur 270K ohne Abhängigkeiten.

1

Bitte nehmen Sie sich einen Blick auf diese URL: http://issues.apache.org/jira/browse/CONFIGURATION-394

Der Configuration Framework, das wir für sie ist etwas oben auf Apache Commons Konfiguration suchen und müssen Concurrency Probleme, JMX Fragen und die meisten Geschäfte (zB unterstützen. Eigenschaftendatei, XML-Dateien oder PreferencesAPI).

Was Weblogic-Team bietet auf "Administration Console" ist interessant, durch die Sie transaktionale (atomare) Updates auf Konfigurationen haben können, so dass registrierte Listener benachrichtigt werden.

Die Apache Jungs bestehen darauf, dass dieses Projekt außerhalb der Reichweite der Commons Konfiguration ist, vielleicht!

Ich habe ein einfaches Konfigurationsframework angefügt, bitte schauen Sie

Verwandte Themen