Anypoint Studio 中子上下文嵌套错误太多

问题描述 投票:0回答:2

我正在使用 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">

感谢您的帮助

mule anypoint-studio
2个回答
0
投票

发生这种情况是因为存在递归流引用。不建议使用递归流引用,因为它很容易导致堆栈溢出错误。您可以增加递归限制,但这样做需要您自担风险。我的建议是重构应用程序以避免在流程中使用递归。


0
投票

@user3165854。您是否知道如何在不遇到此错误的情况下执行此操作?我有和你一样的用例;循环访问 API 不返回计数且 Mule 没有 while 循环的页面,迫使我们使用递归。

© www.soinside.com 2019 - 2024. All rights reserved.