루트가 Items
인 Item
을 여러 개 가져야합니다. 나는 각 항목을 분리하고 처리하는 스플리터를 가지고있다. 그 후 Collection aggregator를 사용하여 모든 응답을 수집합니다.컬렉션 애그리 게이터가 적절하게 응답을 수집하지 않습니다. ESB
내 흐름에는 모든 응답이 이미 수집기에 도달 했음에도 불구하고 관찰 된 수집 수집기가 무언가를 기다리고 있습니다. 애그리 게이터 (어떤 응답을 기다리고 있기 때문에) 후에 응답이 수집되지 않습니다. 하지만 항목에 항목이 5 개있는 경우 모든 응답은 도달 집계자가됩니다. 하지만 어 그리 게이터가 여전히 출력을 전달하지 않는 이유를 잘 모르겠다. (가끔씩 지나간다.)
나는 aggrgegator에서 30000의 타임 아웃을 지키고 Timeout = "false"에 실패했다면 이제는 전달되었지만 응답 (5 항목).
하지만 저는 메시지가 20000 밀리 초 이내에 수집기에 도달했습니다. 하지만 뭔가 :(기다리고 계속됩니다
수집 애그리 게이터 (aggregator)에서이 문제가 어느 하나를 수행하는 이유
는 단서가?는 config를 찾아주세요 ..<flow name="Items" doc:name="Items">
<vm:inbound-endpoint exchange-pattern="one-way" path="QUEUE" connector-ref="VM_Q1" doc:name="QUEUE">
</vm:inbound-endpoint>
<splitter expression="#[xpath('/Items/Item')]" doc:name="Splitter"/>
<vm:outbound-endpoint exchange-pattern="one-way" path="OUT1" connector-ref="MAIN_VM" doc:name="Test Queue">
</flow>
<flow name="Items1" doc:name="Items">
<vm:inbound-endpoint exchange-pattern="one-way" path="OUT1" connector-ref="MAIN_VM" doc:name="Test Queue"/>
.............doing some transformation and processing.....
<collection-aggregator failOnTimeout="true" doc:name="Collection Aggregator"/>
</flow>
버전을 사용 :.. 3.5.1 어떻게 우리는? 내가 보관 한 로거 대기 정확히 추적하고 모든 5 개 항목을 집계하기 전에 채우는되어 확인 할 수 도움말 더 appreciated.Thanks 될 것
편집을 :.. 로그 스플리터 구성 요소 후 항목
의 각 반복을@ 데이비드 제안하십시오 수집 애그리 게이터 (aggregator)Before Collection Aggregator:{MULE_CORRELATION_SEQUENCE=1, MULE_CORRELATION_GROUP_SIZE=5, MULE_ENCODING=UTF-8, MULE_CORRELATION_ID=13783281-a036-11e4-a356-b8ee652d2686, Content-Type=text/plain;charset=UTF-8}
Before Collection Aggregator:{MULE_CORRELATION_SEQUENCE=2, MULE_CORRELATION_GROUP_SIZE=5, MULE_ENCODING=UTF-8, MULE_CORRELATION_ID=9f7447b1-a03b-11e4-85dd-b8ee652d2686, Content-Type=text/plain;charset=UTF-8}
Before Collection Aggregator:{MULE_CORRELATION_SEQUENCE=2, MULE_CORRELATION_GROUP_SIZE=5, MULE_ENCODING=UTF-8, MULE_CORRELATION_ID=9f7447b1-a03b-11e4-85dd-b8ee652d2686, Content-Type=text/plain;charset=UTF-8}
Before Collection Aggregator:{MULE_CORRELATION_SEQUENCE=2, MULE_CORRELATION_GROUP_SIZE=5, MULE_ENCODING=UTF-8, MULE_CORRELATION_ID=9f7447b1-a03b-11e4-85dd-b8ee652d2686, Content-Type=text/plain;charset=UTF-8}
Before Collection Aggregator:{MULE_CORRELATION_SEQUENCE=2, MULE_CORRELATION_GROUP_SIZE=5, MULE_ENCODING=UTF-8, MULE_CORRELATION_ID=9f7447b1-a03b-11e4-85dd-b8ee652d2686, Content-Type=text/plain;charset=UTF-8}
전에 63,210
After splitter:{MULE_CORRELATION_SEQUENCE=1, MULE_CORRELATION_GROUP_SIZE=5, MULE_ENCODING=UTF-8, MULE_CORRELATION_ID=9f7447b1-a03b-11e4-85dd-b8ee652d2686}
After splitter:{MULE_CORRELATION_SEQUENCE=2, MULE_CORRELATION_GROUP_SIZE=5, MULE_ENCODING=UTF-8, MULE_CORRELATION_ID=9f7447b1-a03b-11e4-85dd-b8ee652d2686}
After splitter:{MULE_CORRELATION_SEQUENCE=3, MULE_CORRELATION_GROUP_SIZE=5, MULE_ENCODING=UTF-8, MULE_CORRELATION_ID=9f7447b1-a03b-11e4-85dd-b8ee652d2686}
After splitter:{MULE_CORRELATION_SEQUENCE=4, MULE_CORRELATION_GROUP_SIZE=5, MULE_ENCODING=UTF-8, MULE_CORRELATION_ID=9f7447b1-a03b-11e4-85dd-b8ee652d2686}
After splitter:{MULE_CORRELATION_SEQUENCE=5, MULE_CORRELATION_GROUP_SIZE=5, MULE_ENCODING=UTF-8, MULE_CORRELATION_ID=9f7447b1-a03b-11e4-85dd-b8ee652d2686}
로그인합니다. MULE_CORRELATION_SEQUENCE = 2이 (가) 여러 번 반복됩니다. 그러나 페칭 페이로드는 correct_seq = 2 각각에 대해 정확하고 다릅니다. 이 문제가 어떻게 해결 될 수 있습니까?
'Items1'에서받은 메시지에 대한'MULE_CORRELATION_ID','MULE_CORRELATION_GROUP_SIZE' 및'MULE_CORRELATION_SEQUENCE' 속성의 값을 기록 할 수 있습니까? 이것들이 aggregation이 올바르게 작동하는지 궁금합니다. –
@DavidDossot 당신은 틀림없이 정확했습니다. 나는 스플리터와 로그 수집 수집기 전에 로그 후 내 질문을 편집했습니다. 제발 한 눈에. MULE_CORRELATION_SEQUENCE = 2가 여러 번 반복되는 것으로 관찰되었습니다 (seq = 3,4,5를 허용하지 않음). 이 시나리오를 어떻게 제거 할 수 있습니까? – star
@DavidDossot 일부 수집 수집기가 전달됩니다 (응답 전파). 그러한 경우에도 MULE_CORRELATION_SEQUENCE = 2가 위의 실패 시나리오처럼 반복되는 것을 관찰했습니다. 하지만 여기 수집 수집기가 성공하고 있습니다. 어떻게 예측할 수 있을지 모르겠습니다. 예 : 5 건을 호출하면 4 건 중 하나가 실패 (메시지가 어 그리 게이터에서 수집되지 않음)이고 1 건이 성공합니다 (어 그리 게이터가 메시지를 전달할 수 있음). – star