首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Camel Bindy - split()不工作

Camel Bindy - split()不工作
EN

Stack Overflow用户
提问于 2017-04-04 14:20:46
回答 1查看 1.2K关注 0票数 0

我正在使用Bindy和Camel来处理CSV文件。

下面的代码get a list of beans from The csv运行良好。

代码语言:javascript
复制
 from("ftp://blabla.com:21/InPut?password=bla&move=done&sortBy=file:name")
.unmarshal(bindy)
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
                    Message in = exchange.getIn();
                    Map<String, Object> modelMap = (Map<String, Object>) in.getBody();
                    System.out.println(modelMap.size());
                    int i = 0;
                }
            });

但是当我尝试这样做的时候:

代码语言:javascript
复制
from("ftp://blabla.com/InPut?password=bla&move=done&sortBy=file:name")
.unmarshal(bindy)
.split(body())
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
                    Message in = exchange.getIn();
                    ArrayList<HashMap<String, Object>> list = (ArrayList<HashMap<String, Object>>) in.getBody();
                    System.out.println(list.size());
                    int i = 0;
                }
            });

拆分的答案是空的,没有什么需要处理的。

你知道为什么会发生这种情况吗?

感谢并致以问候

吉尔斯

*解决方案*感谢您的反馈。如果第一种情况运行良好,让我获得一个映射列表,对于第二种情况,我必须首先逐行处理它,然后解组。在本例中,主体包含POJO。

下面的代码可以工作:

代码语言:javascript
复制
 .split(body().tokenize("\n"))
 .unmarshal(bindy)
 .process(new Processor() {
                public void process(Exchange exchange) throws Exception {
                    Message in = exchange.getIn();
                    Employee emp = (Employee) in.getBody();
                    System.out.println(emp);

                }
            });

谢谢你的帮助

吉尔斯

EN

回答 1

Stack Overflow用户

发布于 2017-04-07 14:02:48

感谢您的反馈。如果第一种情况运行良好,让我获得一个映射列表,对于第二种情况,我必须首先逐行处理它,然后解组。在本例中,主体包含POJO。

下面的代码可以工作:

代码语言:javascript
复制
 .split(body().tokenize("\n"))
 .unmarshal(bindy)
 .process(new Processor() {
                public void process(Exchange exchange) throws Exception {
                    Message in = exchange.getIn();
                    Employee emp = (Employee) in.getBody();
                    System.out.println(emp);

                }
            });

谢谢你的帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43199676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档