Apache camel jboss fuse分割列表属性
我有一个代理,它以RequestBean作为参数,它包含一个list属性,我需要使用SpliteEIP拆分这个list属性 我试过了Apache camel jboss fuse分割列表属性,apache-camel,fuseesb,jbossfuse,Apache Camel,Fuseesb,Jbossfuse,我有一个代理,它以RequestBean作为参数,它包含一个list属性,我需要使用SpliteEIP拆分这个list属性 我试过了 <split streaming="true"> <simple>${body}</simple> <process ref="requestHeaderProcessor" /> </split> RequestBean.java RequestBean
<split streaming="true">
<simple>${body}</simple>
<process ref="requestHeaderProcessor" />
</split>
RequestBean.java
RequestBean {
private String list;
}
处理器未接收单个RequestContent,我希望处理器单独接收RequestContent
尝试打印以下行和
System.out.println(exchange.getIn().getBody().getClass().getName());
并获得java.util.ArrayList。所以它是100%可迭代的
但是,当我打印
System.out.println(exchange.getIn().getBody());
我越来越
[webservice.RequestContent@10128f3, webservice.RequestContent@1277137]
这是所有请求内容的列表
但是,为什么我在bean中看到这个列表,根据拆分定义,交换必须只包含一个RequestContent,因为它是按顺序处理的
我哪里出错了。或者这就是它的工作方式。如何确保它拆分内容
如何实现这一点?此方法返回的内容就是用于拆分的内容
<simple>${body.requestBean.requestContent}</simple>
因此,请确保这是一个列表或数组,或者可以进行迭代非常感谢,我修改了代码以从body中获取List属性,但仍然不起作用。请检查修改后的代码。因为camel cxf将调用参数放入一个列表中,所以您需要像这样获取第一个参数${body[0]}
System.out.println(exchange.getIn().getBody());
[webservice.RequestContent@10128f3, webservice.RequestContent@1277137]
<simple>${body.requestBean.requestContent}</simple>