Два источника данных, два отдельных имени. Инъекция каждого из них по их соответствующим идентификаторам бина.
<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 и просто использовать механизмы массовой передачи, встроенные в базы данных.