【发布时间】:2018-03-12 14:39:36
【问题描述】:
我需要读取一个平面文件并创建一个 TRADE java 对象。现在处理器应该基于 TRADE java 对象创建 3 个不同的 java 对象。 我必须将这 3 个不同的 java 对象写入 3 个不同的 xml 文件。
我只想根据读取的数据读取 3 个处理器和 3 个写入多个 xml 文件。
我尝试过compositeItemWriter,但它会使用相同的对象进行写入。但我有3个不同的对象消费者、信封、deliveryOrder
样本输入:
11000000001F11000000062237 693553467588549
11000000001221000000030237 628525475867698
11000000031110000000562374 687598787668557
11000000001G21000000056237 687557575645346
11000000001F11000000062237 693553467588549
11000000001221000000030237 628525475867698
output 1.
<consumers>
<consumer>
<sequenceNum>1481</sequenceNum>
<sourceSystemBrandId>237</sourceSystemBrandId>
<sourceCid>999000367588</sourceCid>
<preferences>
<preference>
<contentType>Statement</contentType>
<value>E</value>
<distributionChannel>test@gmail.com</distributionChannel>
</preference>
</preferences>
<deliveryPoints>
<dpvDeliveryPoint>
<dpv>1171783651</dpv>
</dpvDeliveryPoint>
<emailDeliveryPoint>
<email>test@gmail.com</email>
</emailDeliveryPoint>
</deliveryPoints>
</consumer>
</consumers>
output 2:
<envelopes>
<envelope>
<sourceEnvId>xxxx</sourceEnvId>
<sourceSystemBrandId>xxx</sourceSystemBrandId>
<sourceCid>xxx</sourceCid>
<envelopeData>
<envelopeName>xxx</envelopeName>
<contentType>statement</contentType>
<statementData>
<accountNumber>xxx</accountNumber>
<accountName>xxx</accountName>
<statementAmount/>
<periodStartDate/>
<periodEndDate/>
<date>2017-09-04</date>
</statementData>
<details><detail><name>Class_Email</name><value>xxx</value><type>xxx</type>
</detail></details>
<envelopeDocuments>
<envelopeDocument><docRef>Benhe</docRef></envelopeDocument>
</envelopeDocuments>
<printSuppressed>YES</printSuppressed>
<historicalMail>NO</historicalMail>
<asOfDate>2017-09-04</asOfDate>
</envelopeData>
</envelope>
</envelopes>
output 3:
<deliveryOrder>
<consumer>
<preferences>
<!--1 or more repetitions:-->
<preference>
<contentType>string</contentType>
<value>string</value>
<!--Optional:-->
<effectiveDate>2006-08-19T19:27:14+02:00</effectiveDate>
</preference>
</preferences>
<!--Optional:-->
<details>
<detail>
<name>string</name>
<value>string</value>
</detail>
<detail>
<name>string</name>
<value>string</value>
</detail>
<detail>
<name>string</name>
<value>string</value>
</detail>
</details>
<deliveryPoints>
<unstructuredNameDeliveryPoint>
<name>string</name>
</unstructuredNameDeliveryPoint>
</deliveryPoints>
</consumer>
<envelopeDocuments>
<envelopeDocument>
<docRef>string</docRef>
<docFingerprint>string</docFingerprint>
</envelopeDocument>
</envelopeDocuments>
<printSuppressed>NO</printSuppressed>
<historicalMail>Yes</historicalMail>
<asOfDate>2005-09-12+02:00</asOfDate>
</envelopeData>undefined</deliveryOrder>
感谢您对此的任何帮助。 谢谢。
【问题讨论】:
标签: xml spring spring-boot spring-batch