On 01.09.09 16:27 "Sascha Schäfer" <ders...@t-online.de> wrote:
>
> Hallo,
>
> zunächst Danke für eure Anworten. Das mit dem Überschreien des
> PropertyPlaceholderConfigurers wäre eine neue Möglichkeit, die ich
> bisher noch nicht in Betracht gezogen habe.
Das ist der einzige Weg, der funktionieren wird.
> Das Setzen der Verbindungsparameter für meine DataSource muss zur
> Laufzeit geschehen, da ich erst zur Laufzeit die Information bekomme.
> Inzwischen habe ich versucht mein Problem mit Hilfe des
> PropertyOverrideConfigurers zu lösen. Ich habe innerhalb des Spring-
> Kontext Standardparameter definiert. Mit dem folgendem Codeausschnitt
> versuche ich, die Standardparameter zu überschreiben:
>
> applicationContext = new ClassPathXmlApplicationContext( "spring/
> dataService.xml" );
>
> PropertyOverrideConfigurer propertyOverrideConfigurer = new
> PropertyOverrideConfigurer();
> propertyOverrideConfigurer.setProperties( myProperties );
> propertyOverrideConfigurer.postProcessBeanFactory
> ( applicationContext.getBeanFactory() );
>
> applicationContext.refresh();
>
> Aber das hat leider nicht geholfen. Der PropertyOverrideConfigurer
> läuft durch, aber meine DataSource versucht sich weiterhin zu der
> Datenbank zu verbinden, die im Spring-Kontext für den Standardfall
> definiert wurde. Was mache ich falsch?
Der PropertyOverrideConfigurer ist ebenfalls ein BeanFactoryPostProcessor
und kann nicht funktionieren, wenn die Beans schon instanziiert sind.
Gruß,
Eberhard
--
Eberhard Wolff
Regional Director
SpringSource GmbH
Sitz der Gesellschaft: Uhlandstrasse 75 - D-10717 Berlin
Geschäftsführer: Steven Schuurman, Rod Johnson
Amtsgericht Charlottenburg - HRB 103773 B
Author, "Spring 2 - Framework für die Java Entwicklung"
http://www.spring-buch.de/
Founding Member Java Champions
https://java-champions.dev.java.net/
Mail: eberhar...@springsource.com
Skype: ebr.wolff
Blog: http://JandIandMe.blogspot.com/
Mailing List: http://www.springsource.com/newsletter