こんにちは、Any Point Studio を使用しています。Mule がパスから 2 つのファイルを読み取っていて、両方のファイルを 2 つの別々のメッセージとして扱っていると仮定して、両方を 1 つに結合したいというシナリオがあります。
MULE_CORRELATION_GROUP_SIZE
アグリゲーターコンポーネントの前に定義する必要がある理由の使用法も知りたいですか?
Custom Aggregator を使用してこれを達成するコードを共有してください。または、より良い方法です。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns:file="http://www.mulesoft.org/schema/mule/file" xmlns:json="http://www.mulesoft.org/schema/mule/json" xmlns:mulexml="http://www.mulesoft.org/schema/mule/xml" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.5.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd
http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/current/mule-xml.xsd
http://www.mulesoft.org/schema/mule/json http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd
http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd">
<file:connector name="File" streaming="true" autoDelete="false" validateConnections="true" doc:name="File"/>
<flow name="mule-file-aggregatorFlow1" doc:name="mule-file-aggregatorFlow1">
<file:inbound-endpoint path="\\mulespace\foldername" responseTimeout="10000" doc:name="File" connector-ref="File">
</file:inbound-endpoint>
<file:file-to-string-transformer doc:name="File to String"/>
<message-properties-transformer doc:name="Message Properties">
<add-message-property key="MULE_CORRELATION_GROUP_SIZE" value="2" />
</message-properties-transformer>
<custom-aggregator failOnTimeout="true" class="com.mine.custom.CustomAggregator" doc:name="Custom Aggregator"/>
<json:object-to-json-transformer doc:name="Object to JSON"/>
<logger message="#[message.payload]" level="INFO" doc:name="Logger"/>
</flow>
</mule>