Mozete prosim trochu rozviest moznost 3? Nie som si celkom isty co hladat v dokumentacii, klucove slova nezaberaju.

Myslim, ze to vyriesim tak, ze budem mat objekt, ktory naparsuje konfiguraciu (t.j. moznost 1) a bude obsahovat kolekciu tych mojich "beanov" ... (v ukazke to boli datove zdroje). Dalsi kod bude aj tak potrebovat dohladat konkretny "bean" podla vlastnosti (v ukazke by to mohol byt povedzme driver). Povodne som myslel, ze si tento kod jednoducho vypyta z aplikacneho kontextu vsetky beany daneho typu, pripadne si ich necha injektnut kontainerom, ale v konecnom dosledku je to jedno. Testovat sa to da tak ci tak.

Dakujem,
-Peter

On 16. 2. 2010 14:20, Roman Pichlík wrote:
To nepujde, konfigurace je staticka. Jediny zpusob jak to obejit je:

1.) napsat si vlastni configuration source, ktery to naparsuje z toho
properties souboru a vytvori ty beany
2.) pouzit indirekci v podobe nejake factory, ktera bude vracet neco
jako holder (Map<String, Datasource>, List<Datasource>  ci neco
chytrejsiho) pro vsechny datasources.
3.) mit ty beany popsane pomoci properties souboru coz Spring umoznuje


2010/2/16 Peter Stibrany<[email protected]>:
Dobry den,

chcel by som v Springu nakonfigurovat viacero beanov, pricom cast
konfiguracie by som rad zapisal do externeho properties suboru.

Napriklad, povedzme ze chcem vytvorit viacero datovych zdrojov. V properties
subore by som mal nieco ako:

jdbc.1.driver=com.mysql.jdbc.Driver
jdbc.1.url=jdbc:mysql://localhost/mydb

jdbc.2.driver=org.postgresql.Driver
jdbc.2.url=jdbc:postgresql://host/mydb

...

jdbc.N.driver=net.sourceforge.jtds.jdbc.Driver

jdbc.N.url=jdbc:microsoft:sqlserver://host:port;databasename=name;user=yourUser;password=yourPwd

V aplicationContext.xml by som teraz chcel nejakym sposobom vytvorit
dataSource pre kazdu jdbc konfiguraciu v mojom properties subore. Pre jediny
dataSource by to bolo jednoduche:

<context:property-placeholder
location="classpath:com/foo/connections.properties"/>

<bean id="dataSource" destroy-method="close"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
</bean>
Neviem vsak ako pouzit vsetky properties jdbc.XX.driver a vytvorit novy
datasource pre kazdy z nich. Ako by som toto mohol zapisat do
applicationContext.xml? Su na to v Springu uz nastroje?

(Hore uvedeny priklad je len demonstracny, chcem to na nieco ine nez
databazove spojenia).

Dakujem,
-Peter




Odpovedet emailem