Verwendung von 2 verschiedenen Datenquellen: Spring Batch

Ich habe 2 verschiedeneDatenquellen, eine zum Lesen und eine zum Schreiben von Ergebnissen wie folgt:

ItemReader sollte Daten von dataSource_1 abrufen.ItemWriter sollte Daten in dataSource_2 schreiben.

Zu wissen, dass sich Leser und Schreiber in derselben Aufgabenstellung befinden.

Gemäß der Dokumentation können wir einen einzelnen Transaktionsmanager bei Tasklet konfigurieren

Wie verwende ich in diesem Szenario den Transaktionsmanager?

Ich kann mich nicht auf den Container verlassen und verwende keine ORM-Ebene (JPA ..). Ich verwende den direkten JDBC-Treiber, um die Datenbank 1 einzulesen und in die Datenbank 2 zu schreiben.

Aktuelle Konf:

<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>

Wie kann ich die JTA / XA-Transaktion (Atomikos) mit Spring Batch konfigurieren?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage