Spring 批处理 - 有没有办法创建既不读取也不写入的存储过程步骤?
Spring Batch - Is there a way create a Stored Procedure step which neither reads nor writes?
我有一个存储过程,它在一系列步骤的末尾运行,这些步骤仅合并数据库本身的结果数据。结果,我不需要读取或写入任何数据。只要执行成功就足够了。
有没有简单的方法可以做到这一点?
到目前为止,我的步骤看起来像这样...
<batch:step id="CleanupStep">
<batch:tasklet transaction-manager="transactionManager">
<batch:chunk reader="MergeCleanup"
writer="NoOpWriter"/>
<batch:transaction-attributes propagation="NEVER"/>
</batch:tasklet>
</batch:step>
<bean id="MergeCleanup"
class="org.springframework.batch.item.database.StoredProcedureItemReader" scope="step">
<property name="dataSource" ref="DataSource"/>
<property name="procedureName" value="MERGE_CLEANUP"/>
</bean>
<bean id="NoOpWriter"
class="my.package.NoOpWriter">
</bean>
使用 TaskletStep 是正确的解决方案。
你可以在网上找到很多例子。
我有一个存储过程,它在一系列步骤的末尾运行,这些步骤仅合并数据库本身的结果数据。结果,我不需要读取或写入任何数据。只要执行成功就足够了。
有没有简单的方法可以做到这一点?
到目前为止,我的步骤看起来像这样...
<batch:step id="CleanupStep">
<batch:tasklet transaction-manager="transactionManager">
<batch:chunk reader="MergeCleanup"
writer="NoOpWriter"/>
<batch:transaction-attributes propagation="NEVER"/>
</batch:tasklet>
</batch:step>
<bean id="MergeCleanup"
class="org.springframework.batch.item.database.StoredProcedureItemReader" scope="step">
<property name="dataSource" ref="DataSource"/>
<property name="procedureName" value="MERGE_CLEANUP"/>
</bean>
<bean id="NoOpWriter"
class="my.package.NoOpWriter">
</bean>
使用 TaskletStep 是正确的解决方案。
你可以在网上找到很多例子。