Слишком много дочерних контекстов вложенная ошибка в Anypoint Studio - PullRequest
0 голосов
/ 10 октября 2019

Я использую Mule 4.2 и Anypoint Studio 7.3.

У меня есть поток, в котором есть HTTP-запрос и запрос сбора рассеяния. Соединитель HTTP-запроса вызывает API и возвращает размер страницы 25. Результаты API перелистываются путем повторного вызова того же потока с использованием коннектора ссылки на поток, пока не будут получены все результаты.

Каждый раз, когда он достигает 25-го вызова API, он выдает ошибку ниже. Если я увеличу размер страницы до 100, он вернет все к 14-му вызову и завершится успешно.

Как мне исправить эту ошибку? Я чувствую его превышение предела?

ERROR 2019-10-10 16:31:28,227 [[MuleRuntime].cpuLight.08: [test-upload].testRecordUploadFlow.CPU_LITE @55ed087c] [event: fd0fc8e0-eb72-11e9-a538-a44cc83a8228] org.mule.runtime.core.internal.exception.OnCriticalErrorHandler: 
********************************************************************************
Message               : Too many child contexts nested.

Error type            : MULE:CRITICAL
Element               : testRecordUploadFlow/processors/5 @ test-upload:test-upload.xml:60 (Scatter-Gather)
Element XML           : <scatter-gather doc:name="Scatter-Gather" doc:id="7c4bc7be-5205-4f0a-82c0-2b56e5c2afdb" maxConcurrency="500">

Спасибо за любую помощь

1 Ответ

0 голосов
/ 11 октября 2019

Это происходит из-за рекурсивного задания потока. Не рекомендуется использовать рекурсивные ссылки на потоки, поскольку это может легко привести к ошибке переполнения стека. Вы можете увеличить предел рекурсии , но делаете это на свой страх и риск. Я рекомендую провести рефакторинг приложения, чтобы избежать использования рекурсии в потоках.

...