批量处理一条记录

Omkar venkata

ule子批次不处理单个记录。我们有一种情况,我们将获取1到20k条记录的加密文件。以下是我的M子流。当我们传递单个记录文件时,该过程失败,提示“必须是接口java.lang.Iterable类型”。关于收到一个记录文件时如何使流程正常工作的任何建议。注意:对于具有多个记录的文件,流工作正常。

Exception stack is:

1.对象“ java.util.LinkedHashMap”的类型不正确。它必须为“ {interface java.lang.Iterable,interface java.util.Iterator,interface org.mule.routing.MessageSequence,interface java.util.Collection}”类型(java.lang.IllegalArgumentException)org.mule.util .collection.EventToMessageSequenceSplittingStrategy:64(空)2.对象“ java.util.LinkedHashMap”的类型不正确。它必须为“ {interface java.lang.Iterable,interface java.util.Iterator,interface org.mule.routing.MessageSequence,interface java.util.Collection}”类型(java.lang.IllegalArgumentException)(com.mulesoft。 module.batch.exception.BatchException)com.mulesoft.module.batch.engine.DefaultBatchEngine:366(空)


根异常堆栈跟踪:java.lang.IllegalArgumentException:对象“ java.util.LinkedHashMap”的类型不正确。它的类型必须为“ {interface java.lang.Iterable,interface java.util.Iterator,interface org.mule.routing.MessageSequence,interface java.util.Collection}”

<context:property-placeholder location="dev.properties"/>
<encryption:config name="Encryption" defaultEncrypter="PGP_ENCRYPTER" doc:name="Encryption">
<encryption:pgp-encrypter-config publicKeyRingFileName="keys/dev_pgp_wd_ecc_public.key.gpg" secretKeyRingFileName="keys/dev_pgp_wd_ecc_private.key.gpg" secretAliasId="${key.AliasId}" secretPassphrase="${key.Passphrase}" principal="${key.principal}"/>
</encryption:config>

<amqp:connector name="AMQP_Connector" validateConnections="true" host="${amqp.host}" doc:name="AMQP Connector" virtualHost="${amqp.virtualhost}" password="${amqp.password}" port="${amqp.port}" username="${amqp.user}"/>
<http:request-config name="HTTP_Request_PI" host="${pi.endpoint}" port="${pi.port}" doc:name="HTTP Request Configuration" basePath="${pi.path}" responseTimeout="30000">
<http:basic-authentication username="${pi.username}" password="${pi.password}"/>
</http:request-config>
<smtp:connector name="SMTP_Alert" contentType="text/html" validateConnections="true" doc:name="SMTP"/>
<sftp:connector name="SFTP_Inbound_Connector" validateConnections="true" autoDelete="true" pollingFrequency="120000" doc:name="SFTP"/>
<batch:job name="TestBatch" max-failed-records="-1">
<batch:input>
    <sftp:inbound-endpoint connector-ref="SFTP_Inbound_Connector" host="${sftp.host}" port="${sftp.port}" path="/test/incoming/lt" user="${sftp.user}" password="${sftp.password}" responseTimeout="10000" doc:name="SFTP"/>

    <encryption:decrypt config-ref="Encryption" using="PGP_ENCRYPTER" doc:name="Encryption"/>
    <object-to-string-transformer doc:name="Object to String"/>
    <logger message="Decrypted" level="INFO" doc:name="Logger"/>
    <splitter expression="#[xpath3('/wd:Report_Data/wd:Report_Entry', payload, 'NODESET')]" doc:name="Splitter"/>
    <mulexml:dom-to-xml-transformer doc:name="DOM to XML"/>
    <dw:transform-message doc:name="Transform Message" metadata:id="b7cbbbbb-d58b-439b-8684-5a6d0345d48c">
        <dw:input-payload doc:sample="empty.xml"/>
        <dw:set-payload></dw:set-payload>
    </dw:transform-message>
</batch:input>
<batch:process-records>
    <batch:step name="Batch_Step1">
        <json:object-to-json-transformer doc:name="Object to JSON"/>

            <amqp:outbound-endpoint exchangeName="${amqp.exchangeName}" queueName="${amqp.queueName}" responseTimeout="10000" encoding="UTF-8"  connector-ref="AMQP_Connector" doc:name="AMQP"/>

    </batch:step>

</batch:process-records>
<batch:on-complete>
    <logger message="#[flowVars.totalRecords.totalRecords]" level="INFO" doc:name="Logger"/>
    <logger message="#[flowVars.failedReocrds.failedReocrds]" level="INFO" doc:name="Logger"/>            
    <set-payload value="${mail.html}" doc:name="Set Payload" mimeType="text/html"/>
    <smtp:outbound-endpoint host="${mail.host}" port="${mail.port}" user="${mail.user}" password="${mail.password}" connector-ref="SMTP_Alert" to="${mail.receiver}" from="${mail.from}" subject="${IntegrationName}" responseTimeout="10000" doc:name="SMTP"/>
</batch:on-complete>

Omkar venkata

我在拆分器之后添加了集合聚合器,现在该批处理适用于一个记录方案。

<collection-aggregator failOnTimeout="true" doc:name="Collection Aggregator"/>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何知道所有记录均已插入,其中一条记录未插入而批量插入

来自分类Dev

批量插入:是否有一种方法可以在违反约束时仅跳过下一条记录?

来自分类Dev

vim:如何复制一条记录

来自分类Dev

PHP查询选择一条记录

来自分类Dev

仅返回一条记录

来自分类Dev

MySQL JOIN最后一条记录

来自分类Dev

MySql中的上一条记录

来自分类Dev

自动提取一条记录

来自分类Dev

更新上一条记录的数据

来自分类Dev

读取文件的最后一条记录

来自分类Dev

上一条记录被公式省略

来自分类Dev

仅显示一条记录

来自分类Dev

查看每组的最后一条记录

来自分类Dev

处理第一条记录的子查询的最有效方法

来自分类Dev

从一条记录检索记录到另一条记录

来自分类Dev

如何检查一条记录是否附加到另一条记录?

来自分类Dev

在MySQL的下一条记录中插入最后一条记录字段

来自分类Dev

阅读下一条记录“ NOT”的上一条记录sql

来自分类Dev

如何获取日期中的第一条记录和最后一条记录

来自分类Dev

Mysql Query按最后一条记录和第一条记录分组

来自分类Dev

如何获取组之间的第一条记录和最后一条记录?

来自分类Dev

SQL - 显示一条记录是否是在另一条记录之后创建的

来自分类Dev

将一条记录中的值存储在另一条记录中

来自分类Dev

测试一条记录是否与 RSpec 中的另一条记录重复

来自分类Dev

插入跳过记录集中的最后一条记录

来自分类Dev

MySql-从18446744073709551615记录中选择一条记录

来自分类Dev

从Elm中的记录列表中返回一条记录

来自分类Dev

基于下一条记录值的GS查询记录

来自分类Dev

跳过一条记录并使用以前的记录数据

Related 相关文章

热门标签

归档