Usando 2 fuentes de datos diferentes: Spring batch

Tengo 2 diferentesfuentes de datos, uno para leer y otro para escribir resultados como abajo:

ItemReader debe obtener datos de dataSource_1.ItemWriter debe escribir datos en dataSource_2.

sabiendo que el lector y el escritor están en el mismo tasklet.

Según la documentación, podemos configurar un solo administrador de transacciones en tasklet

En este escenario, ¿cómo uso el administrador de transacciones aquí?

No puedo confiar en el contenedor y no estoy usando la capa ORM (JPA ...), uso el controlador JDBC directo para leer en la base de datos 1 y escribir en la base de datos2.

conf actual

<bean id="dataSource1" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="${batch.or.jdbc.driver}" />
    <property name="url" value="${batch.or.jdbc.url}" />
    <property name="username" value="${batch.or.jdbc.user}" />
    <property name="password" value="${batch.or.jdbc.password}" />
</bean>

<bean id="dataSource2" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="${batch.caux.jdbc.driver}" />
    <property name="url" value="${batch.caux.jdbc.url}" />
    <property name="username" value="${batch.caux.jdbc.user}" />
    <property name="password" value="${batch.caux.jdbc.password}" />
</bean>

<bean id="baseReader" class="org.springframework.batch.item.database.JdbcCursorItemReader">
        <property name="dataSource" ref="dataSource1" />
</bean>

<bean id="baseWriter" class="org.springframework.batch.item.database.JdbcBatchItemWriter">
        <property name="dataSource2" ref="dataSource2" />
        <property name="sql" value="${batch.param.insert}" />
</bean>

¿Cómo puedo configurar la transacción JTA / XA (Atomikos) con Spring Batch?

Respuestas a la pregunta(3)

Su respuesta a la pregunta