Csv Camel Bindy-split()不工作
我正在使用Bindy和Camel来处理CSV文件 下面的代码,获取从csv中解包的bean列表运行正常Csv Camel Bindy-split()不工作,csv,apache-camel,bindy,Csv,Apache Camel,Bindy,我正在使用Bindy和Camel来处理CSV文件 下面的代码,获取从csv中解包的bean列表运行正常 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 {
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;
}
});
谢谢你的帮助
Gilles感谢您的反馈。如果案例1运行良好,让我得到一个地图列表,对于案例2,我必须先逐行处理,然后解组。在本例中,主体包含POJO 此代码适用于:
.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);
}
});
.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);
}
});
感谢您的帮助您是否认为您使用HashMap的ArrayList并强制转换主体可能导致此遗漏?我甚至没有输入处理方法,因为结果为空。因此,在拆分之前,不要对消息进行如此愚蠢的标记化
.split(body().tokenize(','))
还请注意,split
在早期版本的camelThank中曾经是splitter
。我会尝试,但在解开密码后,尸体现在必须包含一个地图列表。这就是我不分手时得到的。因此,此时标记化可能太晚了。您是否试图让处理器处理大小为1的ArrayList,其中包含大小为1的HashMap?
.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);
}
});