如何遍历 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,例如 List
或 Collection
并发送到每个目的地。
也一样
<recipientList>
<header>endpoints</header>
</recipientList>
我想遍历一个 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,例如 List
或 Collection
并发送到每个目的地。
也一样
<recipientList>
<header>endpoints</header>
</recipientList>