Ho 2 diverse origini dati, uno da leggere e un altro per scrivere i risultati come qui di seguito:Usando 2 differenti origini dati: Primavera in batch
- ItemReader dovrebbe ottenere i dati da dataSource_1.
- ItemWriter deve scrivere dati su dataSource_2.
sapere che lettore e scrittore si trovano nello stesso tasklet.
Come per la documentazione, siamo in grado di configurare un unico gestore delle transazioni a tasklet
In questo scenario, come faccio io uso il gestore delle transazioni qui?
Non posso fare affidamento sul contenitore e non sto usando il livello ORM (JPA ..), uso il driver diretto JDBC per leggere nel database 1 e scrivere nel database2.
corrente conf:
<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>
come ho potuto configurare la transazione JTA/XA (Atomikos) con Batch primavera?