我正在使用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">
感谢您的帮助
答案 0 :(得分:0)
发生这种情况是因为存在递归流引用。不建议使用递归流引用,因为它很容易导致堆栈溢出错误。您可以增加limit of recursion,但后果自负。我的建议是重构应用程序,以避免在流中使用递归。