Loops 在使用SpringDSL的驼峰路线中使用嵌套循环有什么解决方法吗?

Loops 在使用SpringDSL的驼峰路线中使用嵌套循环有什么解决方法吗?,loops,apache-camel,fuseesb,spring-dsl,Loops,Apache Camel,Fuseesb,Spring Dsl,我需要遍历路由中的项目列表。在这条路线中,我必须再次迭代一系列项目。 我正在使用循环,并使用CamelLoopIndex属性了解当前迭代 这里的问题是,假设外循环有50项要迭代,内循环有3项要迭代。发生的情况是,在外循环的第一次迭代之后,它直接跳到第四次迭代,因为内循环将CamelLoopIndex设置为2 我已经为此做了一个变通方法: <outerLoop> <!-- do some stuff --> <!-- set the CamelLoo

我需要遍历路由中的项目列表。在这条路线中,我必须再次迭代一系列项目。 我正在使用
循环
,并使用
CamelLoopIndex
属性了解当前迭代

这里的问题是,假设外循环有50项要迭代,内循环有3项要迭代。发生的情况是,在外循环的第一次迭代之后,它直接跳到第四次迭代,因为内循环将
CamelLoopIndex
设置为2

我已经为此做了一个变通方法:

<outerLoop>
    <!-- do some stuff -->

    <!-- set the CamelLoopIndex value in a custom exchange property -->
    <innerLoop>
        <!-- do some other stuff -->
    </innerloop>
    <!-- reset the CamelLoopIndex value with the one in our custom exchange property -->

</outerloop>


有更好的方法吗?

您在循环内部做什么?例如,如果您迭代(例如)外部循环中的每个顺序,然后迭代内部循环中的每个顺序,则可以使用拆分器EIP,然后使用聚合策略再次聚合消息。您能分享一下您的实际路线吗?@noMad17感谢您推荐拆分器EIP。我不知道驼峰分割器可以用于串行和并行处理,而不仅仅是并行处理。我要试试看!我要做的就是读取一个包含大量记录的文件。对于每个记录,我需要执行一系列服务调用,其中一个调用必须递归执行若干次(因此是嵌套循环)。记录需要以有序的方式读取和处理,这让我相信我不能在这里使用splitter,所以我选择使用
循环
,那么听起来好像外部循环可以被splitter替换,内部处理可能可以由一个或多个处理器完成,您可以自己用Java编写。