In meinem Spring-Anwendungskontext habe ich DynamicSessionFactoryInitBean
, der immer im Anwendungskontext benötigt wird, da er für dynamische Beandefinitionen für Datenquellen und Ruhezustandssitzungsfactories für alle Datenbanken zuständig ist (identisches Schema, mehrere Datenbanken)) im System registriert. Es gibt eine weitere Bean LiquibaseInitBean
, die nur vorhanden ist, wenn das Profil Entwicklung aktiv ist und für die Anwendung von Liquibase Datenbank-Upgrades auf jede im System registrierte Datenbank verantwortlich ist.Bedingte Abhängigkeit zwischen Beans im Spring-Kontext
Es wäre schön, DynamicSessionFactoryInitBean
zu machen, hängt von LiquibaseInitBean
(, wenn es vorhanden ist, die Entwicklung Profil Sinn aktiv ist), so dass DynamicSessionFactoryInitBean
immer up-to-date-Schema-Datenbank sieht.
<beans>
<!-- other beans.... -->
<bean id="dynamicSessionFactoryInitBean" class="my.app.DynamicSessionFactoryInitBean" />
<beans profile="development">
<bean id="liquibaseInitBean" class="my.app.liquibase.LiquibaseInitBean" />
</beans>
<beans>
einfach das Hinzufügen depends-on="liquibaseInitBean"
Attribut für DynamicSessionFactoryInitBean
Definition wird offensichtlich Probleme verursachen (keinen Bean mit dem Namen ‚LiquibaseInitBean‘ definiert ist), wenn die Entwicklung Profil nicht aktiv ist. Gibt es eine "Bedingte hängt von" oder "hängt ab, wenn vorhanden" -Fabrik im Frühjahr?
Vielen Dank! Ich werde das ausprobieren. –