2016-03-31 11 views
0

Ich versuche, 2 verschiedene schemas innerhalb meiner Anwendung zu verbinden.Konfigurieren der Feder für die Verwendung mehrerer Datenquellen

Dazu habe ich 2 verschiedene data sources. Wie sollte ich dies in meinen Eigenschaftendateien konfigurieren?

Ich habe this answer gesehen, die mir eine Idee gab, wie man das macht. Ich habe zur Zeit die folgenden 3 Eigenschaftsdateien in meiner Anwendung:

1. application.properties 
2. hibernate.properties 
3. multiple-db.properties 

application.properties derzeit leer. Im Folgenden sind die anderen 2-Dateien:

hibernate.properties:

# Connection configuration 
hibernate.connection.username= my_uname1 
hibernate.connection.password= my_pword1 

multiple-db.properties:

# Schema 1-Data source configuration 
oracle.db.username1= my_uname1 
oracle.db.password1= my_pword1 
oracle.db.url1= my_url1 

# Schema 2-Data source configuration 
oracle.db.username2= my_uname2 
oracle.db.password1= my_pword2 
oracle.db.url2= my_url2 

# JPA configuration 
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect 

# Hibernate configuration 
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect 
hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver 
hibernate.connection.url=my_url 

hibernate.connection.provider_class=org.hibernate.connection.C3P0ConnectionProvider 

Ist das der richtige Ansatz? Benötige ich 3 properties files, oder könnte ich das alles in einem tun?

Antwort

1

The Spring Dokumentation schlägt vor, eine Art und Weise primäre und sekundäre Datenquellen zu erstellen: http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-two-datasources

Jede Datenquelle kann so konfiguriert werden, wie hier beschrieben: http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-configure-a-datasource

Sie sie mit Hilfe @Autowire von anderen Bohnen zugreifen . Sie können jeder Datenquelle ein Präfix zuordnen, damit Sie es in Ihrer Datei application.properties oder application.yml konfigurieren können.

Sie können auch einen als primären festlegen.

0

Mit Feder können Sie dies leicht tun.

Es wäre so etwas wie dieses:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" value="${jdbc.driverClassName}"/> 
    <property name="url" value="${jdbc.url}"/> 
    <property name="username" value="${jdbc.username}"/> 
    <property name="password" value="${jdbc.password}"/> 
</bean> 

<context:property-placeholder location="jdbc.properties"/> 

Und man konnte nur eine Datei oder drei verwenden:

<bean id="dataSource_1" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
    <property name="url" value="jdbc:mysql://localhost/northwind" /> 
    <property name="username" value="root" /> 
    <property name="password" value="" /> 
</bean> 

<bean id="dataSource_2" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
    <property name="url" value="jdbc:mysql://localhost/northwind_dup" /> 
    <property name="username" value="root" /> 
    <property name="password" value="" /> 
</bean> 

Sie auch Ihre Eigenschaften von Dateien und tun so etwas wie dies nutzen könnten. Es liegt wirklich an dir.

Verwandte Themen