Облицовка проблемы при объединении нескольких файлов. Я храню два разных файла. И объедините эти два файла в один. Некоторое время я получил двойное сообщение. Или некоторое время один файл упал. Ниже мой потокПолучено дублирующееся сообщение While Aggregate: mule esb
<flow name="CombineFiles" >
<file:inbound-endpoint path="Custom" responseTimeout="10000" doc:name="File" moveToDirectory="BackUp"/>
<file:file-to-string-transformer doc:name="File to String"/>
<scripting:component doc:name="Groovy">
<scripting:script engine="Groovy"><![CDATA[long now = new java.util.Date().getTime();
long mod = now % 2000;
message.setCorrelationId(String.valueOf(now - mod));
message.setCorrelationGroupSize(100);
return message;
]]></scripting:script>
</scripting:component>
<collection-aggregator failOnTimeout="false" doc:name="Collection Aggregator" timeout="3000"/>
<combine-collections-transformer doc:name="Combine Collections"/>
<logger message="FINAL #[payload]" level="INFO" doc:name="Logger"/>
<object-to-string-transformer doc:name="Object to String"/>
<file:outbound-endpoint path="Result" outputPattern="result1" responseTimeout="10000" doc:name="File"/>
</flow>
Некоторое время я получил сообщение от FILE1 два раза. или некоторое время получил только 1 файл сообщения. Я хочу объединить 2 файла. Что не так с моим потоком ???
Почему вы устанавливаете размер группы корреляции до 100, если хотите объединить 2 файла? А также, я думаю, что идентификатор корреляции не очень хорошо установлен, потому что он зависит только от времени прибытия файла. С уважением, Маркос. – MarcosNC
Через 2 секунды файлы no.of основаны на том, что я установил идентификатор корреляции и размер. Но если я хочу интегрировать 2 файла, то каким образом я должен установить идентификатор корреляции? – user3855589
Если вы хотите объединить 2 файла, размер группы должен быть равен 2. Если это значение больше, агрегатор будет продолжать ждать после того, как эти 2 файла прибыли, на самом деле, тайм-аут агрегатора составляет 3 секунды, а ваш коэффициент корреляции id на 2 секунд. Тем не менее, я думаю, что timestamp mod не является хорошим подходом, потому что файлы могут появиться, когда закончится двухсекундное окно. – MarcosNC