在Spring批量xml写入中,我们可以为特定的记录数编写复杂的xml

In Spring batch xml writing can we write complex xml for specific nos of records

我必须设计一个 spring 批处理作业,它从数据库中读取数据(假设是 JdbcCursorItemReader)并将数据写入 XML(复杂的 xml,如下所示)。 我有以下疑问。 一种)。 XML 不应超过 8k 条记录。如果有更多的记录,一个新的 XML 被写入。 例如 从数据库中提取了 10K 条记录。 REQ_1.xml -> 8k 条记录 REQ_2.xml -> 2k 条记录

b).如何在为 xml.

编写 XML 时动态附加 Header 块(header 和摘要)

提前致谢。

xml结构如下

<?xml version="1.0" encoding="UTF-8"?>
<faxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ST_BD0.xsd">
    <header>
        <extsysname>CU</extsysname>
        <datpost>2013-04-20</datpost>
    </header>
    <summary>
        <countdr>4000</countdr>
        <countcr>4000</countcr>
        <sumdr>1600000.00</sumdr>
        <sumcr>1600000.00</sumcr>
    </summary>
    <txnlist>
        <txndata>
            <debit>
                <accountno>6000000000029</accountno>
                <amount>400.00</amount>
            </debit>
            <credit>
                <accountno>022222222222222</accountno>
                <amount>400.00</amount>
            </credit>
        </txndata>
        <txndata>
            <debit>
                <accountno>6000000000029</accountno>
                <amount>400.00</amount>
            </debit>
            <credit>
                <accountno>022222222222222</accountno>
                <amount>400.00</amount>
            </credit>
        </txndata>
    </txnlist>
</faxml>

您可以为此使用 MultiResourceItemWriter 并将 itemCountLimitPerResource 设置为 8000。您还可以将后缀自定义为 _1_2 等,使用自定义 ResourceSuffixCreator.