Наличие нескольких источников данных


Я не нашел вопроса на эту тему, поэтому я спрошу. Я никогда не занимался тем, что использует более одного источника данных. Одним из примеров может бытьETL , для которого требуется два источника данных. Как можно разработать такое приложение?

1 3

1 ответ:

Два источника данных, два отдельных имени. Введите каждый из них по их соответствующим идентификаторам бобов.

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

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

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

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

Вы хотели бы иметь один DAO, но два его экземпляра - каждый со своим собственным источником данных. Один выбирал из источника, другой вставлял в цель.

Лучший способ-отказаться от Spring и просто использовать механизмы массовой передачи, встроенные в базы данных.