我有2个不同的数据源,一个用于读取,另一个用于写入如下结果:
知道读者和作者在同一个tasklet中.
根据文档,我们可以在tasklet上配置单个事务管理器
在这种情况下,我如何在这里使用事务管理器?
我不能依赖容器,我不使用ORM层(JPA ..),我使用直接JDBC驱动程序读入数据库1并写入database2.
当前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>
Run Code Online (Sandbox Code Playgroud)
我如何使用Spring Batch配置JTA/XA事务(Atomikos)?
我想实现一个批处理,它将从数据库中读取数据并进行处理以插入到另一个数据库中.我如何定义我的ItemReader?例?知道我用jpa.
我在没有ItemWriter的情况下定义了我的tasklet,如下所示:
<b:tasklet>
<b:chunk reader="baseReader" processor="baseProcessor" commit-interval="100" />
</b:tasklet>
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
配置问题:<b:chunk/>元素既没有'writer'属性也没有<writer/>元素.
你有什么主意吗 ?谢谢