Quellkonfiguration der Spring-Umgebungseigenschaft

Ich arbeite an einer Anwendungsbibliothek mit der Utility-Klasse "Config"die durch den Frühling gesichert istEnvironment Objekt und bietet stark typisierte Getter für alle Anwendungskonfigurationswerte.

Die Eigenschaftsquellen für die Konfiguration können je nach Umgebung (DEV / PROD) und Verwendung (Standalone / Test / Webapp) variieren und reichen von den Standardquellen (System- und Env-Requisiten) bis zu benutzerdefinierten Datenbank- und JNDI-Quellen.

Was ich zu kämpfen habe, ist, wie die Apps, die diese Bibliothek konsumieren, die Eigenschaftsquelle (n), die von verwendet werden, einfach konfigurieren könnenEnvironment, so dass die Eigenschaften für die Verwendung in unserem zur Verfügung stehenConfig Klasse und über diePropertySourcesPlaceholderConfigurer.

Wir verwenden immer noch die XML-Konfiguration. Idealerweise kann dies in XML konfiguriert werden.

<bean id="propertySources" class="...">
    <property name="sources">
        <list>
            <ref local="jndiPropertySource"/>
            <ref local="databasePropertySource"/>
        </list>
    </property>
</bean>

... und dann irgendwie in die Eigenschaftsquellensammlung der Umgebung eingefügt.

Ich habe gelesen, dass so etwas aufgrund des zeitlichen Ablaufs des Anwendungskontext-Lebenszyklus möglicherweise nicht möglich ist und dass dies möglicherweise mithilfe einer Anwendungsinitialisierungsklasse erfolgen muss.

Irgendwelche Ideen?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage