Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Apache中迭代用户定义的集合_Java_Apache_Apache Camel_Apache Camel Cdi - Fatal编程技术网

Java 在Apache中迭代用户定义的集合

Java 在Apache中迭代用户定义的集合,java,apache,apache-camel,apache-camel-cdi,Java,Apache,Apache Camel,Apache Camel Cdi,我有一个主要路线和儿童路线的要求。在主路由中将获得对象列表,在那里我需要为列表中的每个单独元素调用子路由。 然后in-Child-route将通过将该元素作为参数之一追加来调用web服务 代码: 我正在设置exchange主体的值,如下所示 public static final List<HotelRefs.HotelRef> supplierHotelRefs = new ArrayList(); exchange.getIn().setBody(supplierHotelR

我有一个主要路线和儿童路线的要求。在主路由中将获得对象列表,在那里我需要为列表中的每个单独元素调用子路由。 然后in-Child-route将通过将该元素作为参数之一追加来调用web服务

代码:

我正在设置exchange主体的值,如下所示

 public static final List<HotelRefs.HotelRef> supplierHotelRefs = new ArrayList();
 exchange.getIn().setBody(supplierHotelRefs);
public static final List supplierHotelRefs=new ArrayList();
exchange.getIn().setBody(supplierHotelRefs);
但是如果有人告诉我们camel中是否有任何方法可以在路由级别迭代用户定义的集合,那么上面的代码示例就不起作用了

谢谢,
Raghavan

在拆分器后面放一个log语句,然后运行代码

.split(body())
.log("How many log lines do you receive?")
如果只得到一条日志行,拆分器将无法按预期工作。然后,您可以尝试使用另一个Camel版本

如果您获得的日志行数与ArrayList包含的元素数相同,那么迭代工作正常,您就遇到了另一个问题。然后你应该找出真正的问题并提出一个新问题


如果根本没有日志行,则表示不满足
中的条件

你能更具体一点什么不起作用吗。你用什么版本的骆驼?拆分器EIP应为每个元素拆分该ArrayList。
.split(body())
.log("How many log lines do you receive?")