Eigenschaft nicht mit mehreren Kontext gefunden: Eigenschaft-Platzhalter

7

Ich benutze Feder 3.1 mit Federprofilen, um die Bohnen zu laden. In meiner App-Kontextdatei lade ich die Eigenschaften wie folgt:

%Vor%

Und dann verwende ich den Eigenschaftswert, um die Datenquellen-Bean wie

zu laden %Vor%

Es funktioniert gut. Das Problem beginnt, wenn ich ein paar weitere Eigenschafts-Platzhalter hinzufüge, damit Eigenschaften von einigen Datenbanktabellen geladen werden können.     

Dies verwendet eine Eigenschaftsreferenz, die von

geladen wird %Vor%

Um zu den Details hinzuzufügen, verwendet configFactoryBean das datasource , um die Eigenschaften aus der Datenbank zu laden.

Wenn ich das mache, habe ich die folgende Ausnahme:

%Vor%

Meine Analyse besteht darin, dass versucht wird, datasource vor dem Auflösen der Eigenschaft aus dem Platzhalter der ersten Kontexteigenschaft zu laden. Ich kann mich irren. Oder die Federprofilvariable wird nicht korrekt aufgelöst.

Kann jemand bitte mir helfen, das zu beheben.

Danke Akki

    
Abby 03.06.2013, 08:31
quelle

4 Antworten

10

Dieser Fehler bezüglich mehrerer Eigenschaftenplatzhalter könnte sich auf Ihr Problem beziehen: Ссылка

  

Wenn mehrere PropertyPlaceholderConfigurer in Verbindung mit verwendet werden    @Value Annotation und Standardwert für Platzhaltersyntax (d. h    ${key:defaultValue} ), nur der erste PropertyPlaceholderConfigurer ist   benutzt. Wenn dieser Konfigurator nicht den gewünschten Wert enthält, fällt er ab   Zurück zu @Value Standard auch wenn der zweite    PropertyPlaceholderConfigurer enthält den Wert.

     

Betrifft Version / en: 3.1.3

    
user3415190 17.03.2014 11:21
quelle
4

Jeder & lt; Kontext: Eigenschaft-Platzhalter & gt; erstellt eine neue Instanz von PropertyPlaceholderConfigurer - es wird leicht unordentlich. Sie sollten so etwas pro Anwendung und auf Anwendungsebene haben, nicht auf Bibliotheken - das macht die Wartung viel einfacher.

Für weitere Details und einen Vorschlag, wie Sie damit umgehen können, sehen Sie hier: Ссылка

    
Rostislav Matl 03.06.2013 13:25
quelle
4

In meiner Anwendung verwende ich Property-Platzhalter-Configurer in folgender Weise und es funktioniert sehr gut. Sie können das versuchen.

%Vor%

Ich denke, das sollte dein Problem lösen. :)

    
Japan Trivedi 03.06.2013 13:00
quelle
1

Da Sie vorgeschlagen haben, den Pfad zur Konfigurationsdatei fest zu codieren, versuchen Sie, das Attribut profiles auf dem Tag zu verwenden, um die Konfiguration selektiv einzubeziehen.

%Vor%

Siehe diesen Artikel, der Profile erklärt: Ссылка

    
Kevin Bowersox 03.06.2013 09:12
quelle

Tags und Links