[SPRING] pliki properties z tomcata, konfiguracja beana

0

Czesc,

odczytuje dane z pliku properties z tomcata

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
            <value>file:${catalina.base}/properties/plik.properties</value>
		</property>
</bean>

ktore nastepnie laduje do konkretnego beana od polaczenia.

<bean id="dataSource" destroy-method="close" class="oracle.jdbc.pool.OracleConnectionPoolDataSource">
        <property name="URL" value="${host}"/>
        <property name="user" value="${user}"/>
        <property name="password" value="${password}"/>
    </bean>
	<bean id="dataSourceBean" init-method="getConnection" class="paczka.klasa">
        <property name="dataSource" ref="dataSource" />
</bean>

I tu następuje problem. Mianowicie aplikacja łączy się z 3 bazami wymieniając między nimi informacje. Dane do połączeń chcę mieć w 3 osobnych plikach, bean 'dataSource' wydaje się, że może zostać ten sam tylko nie wiem jak do niego przekazać hosta/usera/password z konkretnego pliku (jakis prefix?), bo w tym momencie spring orientuje się po prostu po nazwie danej właściwości z pliku (${user}).

Dodatkowym pytaniem jest: czy w takim przypadku trzeba tworzyć 3 beany czy jakoś to wykręcić w javie metodą fabrykującą?

0

Nie ma ograniczeń w ilości obiektów PropertyPlaceholderConfigurer, a zatem:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
                <property name="locations">
                  <list>
                            <value>file:${catalina.base}/properties/plik1.properties</value>
                            <value>file:${catalina.base}/properties/plik2.properties</value>
                            <value>file:${catalina.base}/properties/plik3.properties</value>
                 </list>
                </property>
</bean>

I jedziesz :)

0

ok tylko jak rozróżnić które wartości są z których plików, bo klucze dla nich są takie same - nie chciałbym skończyć na jednym pliku properties z różnymi kluczami dla konkretnej bazy ; )

0

Nie ma możliwości rozróżnienia kluczy. Po załadowaniu do pamięci dostajesz mętlik, który nie ma powiązania z plikami.

1 użytkowników online, w tym zalogowanych: 0, gości: 1