【发布时间】:2023-10-21 03:53:01
【问题描述】:
我正在使用 Mule 的数据映射器将数据从数据库写入 csv 文件。我在数据库、数据映射器和文件输出上使用流式传输选项。我希望能够记录数据映射器写入的记录数量。有没有办法获取这些数据?我正在运行 mule server 3.5.2 并拥有 anypoint studio 5.2.0 版。
【问题讨论】:
标签: mule esb mule-studio mule-component
我正在使用 Mule 的数据映射器将数据从数据库写入 csv 文件。我在数据库、数据映射器和文件输出上使用流式传输选项。我希望能够记录数据映射器写入的记录数量。有没有办法获取这些数据?我正在运行 mule server 3.5.2 并拥有 anypoint studio 5.2.0 版。
【问题讨论】:
标签: mule esb mule-studio mule-component
不是开箱即用的。如果您不使用流式传输,则可以使用 outputArgument 并增加计数器。
如果您使用流式传输,则可以传递计数器类的输入参数。从 Datamapper 的脚本组件中,您可以递增计数器并将计数器作为有效负载的一部分返回以访问它:
<data-mapper:transform config-ref="Pojo_To_JSON_1" doc:name="Pojo To JSON" stream="true">
<data-mapper:input-arguments>
<data-mapper:input-argument key="counter">#[new Counter()]</data-mapper:input-argument>
</data-mapper:input-arguments>
</data-mapper:transform>
数据映射器脚本:
//MEL
//START -> DO NOT REMOVE
output.__id = input.__id;
//END -> DO NOT REMOVE
output.text = inputArguments.counter.increment();
【讨论】:
我知道这是一个旧线程,但下面仍然可以提供帮助 -
<byte-array-to-object-transformer doc:name="Byte Array to Object"/>
<set-variable variableName="Orig_Rows" value="#[payload.length]" doc:name="Variable"/>
【讨论】: