如何遍历 apache camel route 中的 arraylist,xml?

how to iterate through an arraylist inside apache camel route , xml?

我想遍历一个 java 数组列表作为消息头通过 bean 传递给骆驼路由,这样每个基本上是 url 的字符串项都可以作为 uri 参数传递给标签内的骆驼路线。

我通过 java bean 将数组列表作为消息头传递给骆驼路由,如下所示

ArrayList<String> list=new ArrayList<String>();//Creating arraylist  
              list.add("http://www.google.com");//Adding object in arraylist  
              list.add("http://www.whosebug.com");  
              list.add("http://www.tutorialspoint.com");  
              list.add("http://localhost:8080/sampleExample/query"); 
                exchange.getOut().setHeader("endpoints",list);

并且,在骆驼路线中,我想遍历此列表并逐一检索每个列表项,以便我可以在 uri 中传递这些项。这是我的骆驼路线:

<route id="myroute">
        <from id="sedp" uri="cxfrs:http://{{env:POC_HOST}}/{{env:POC_PATH}}"/>
        <log id="_log1" message="Received query request from consumers"/>
        <bean beanType="com.company.myapp.poc.logic.ProcessRequest"
            id="queryProcessor" method="checkRequestType"/>

          // I want to iterate through the list here as <toD uri="${header.endpoints.item}" />


    </route>

但我无法遍历在骆驼路线中作为 header.endpoints 收到的列表中的每个项目。

这是可以将消息发送到 N+ 个目的地的收件人列表 EIP 模式:http://camel.apache.org/recipient-list.html

收件人列表 EIP 基本上是一个 toD 但它可以做 1..N 个端点。其中 toD 只能做 1.

并且它应该能够接收您的消息 header as-is,例如 ListCollection 并发送到每个目的地。

也一样

<recipientList>
  <header>endpoints</header>
</recipientList>