获取骡子批处理提交中已提交记录数的计数



我正在使用批处理来更新数据库中的记录。批量提交大小为 100。 我的批处理流如下所示

<batch:process-records>
<batch:step name="Batch_Step" >
<batch:commit doc:name="Batch Commit" size="100">
<db:update config-ref="DB_Configuration"bulkMode="true"  doc:name="Update" target="#[flowVars.count]">
<db:parameterized-query><![CDATA[update student set
column1=value1,
column2=value2 where id > 2000;] > </db:parameterized-query></db:update></batch:commit> </batch:step> </batch:process-records>

如何获取每个批处理提交中更新的记录数?我期待目标中的flowVars.count将具有该计数。但是当我打印时,我没有看到计数。如何获得成功提交的记录数?

">

完成时"状态告诉您overall status成功的失败记录。

批处理有自己的批处理流变量<batch:record-variable-transformer doc:name="Record Variable"/>称为正常流变量在批处理中不起作用。

如果要单独处理失败记录,请再使用一个批处理步骤并标记accept-policy="ONLY_FAILURES",因此无论批处理步骤中记录失败"仅允许成功",都将转到"处理失败"流程

<batch:job name="sample_projectBatch" max-failed-records="-1">
<batch:process-records>
<batch:step name="Allow only Success " accept-policy="NO_FAILURES">
<batch:record-variable-transformer doc:name="Record Variable"/>
</batch:step>
<batch:step name="handle failure" accept-policy="ONLY_FAILURES">
<logger level="INFO" doc:name="Logger"/>
<!-- logic to handle the failure -->
</batch:step>
</batch:process-records>
</batch:job>

您能否在查询中解释更多"其中 id> 2000"条件?"id"或"2000"来自您的有效载荷吗?

如果没有,那么我不明白查询如何不只是一遍又一遍地重写相同的数据库记录。

最新更新