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?