0
我有一个包含一组用户的大型CSV文件。我正在寻找一种简单的方法来读取文件,映射到一个Java对象,并将该对象传递给将对该对象执行一些操作的处理器。 所以我打上表示CSV文件注释一个Java bean:骆驼CSV转换为Java对象
@CsvRecord(separator = ",")
public class User {
@DataField(pos = 1)
private String username;
@DataField(pos = 2)
private String group;
}
然后我就开始编写一个骆驼路线,但我不能找出如何通过CSV为Java对象端点:
CamelContext context = new DefaultCamelContext();
final DataFormat bindy = new BindyCsvDataFormat("com.sample.model");
context.addRoutes(new RouteBuilder() {
public void configure() {
from("file:/usr/camel/in?noop=true").
unmarshal(bindy)
.to("??????");
}
});
目标端点应该是一个接收用户对象的java类。有可能做到这一点吗?由于
谢谢,我实现了一个简单的处理器,但是在为了检索我不得不挖掘到Body中的对象,然后到包含HashMaps的数据的ArrayList中。有没有更简单的方法来从处理器检索POJO? '公共类SimpleProcessor实现处理器{ \t公共无效处理(交易交换)抛出异常{ \t \t ArrayList的列表=(ArrayList的)exchange.getIn()getBody();对于(HashMap地图:list){ \t \t \t Iterator iter = map.entrySet()。iterator(); (iter.hasNext()){ \t \t \t while(iter.hasNext()){ \t \t System.out.println(“user”+ iter.next()); \t \t} }' \t \t \t \t \t}} 再次 –
user2824073
2015-03-03 12:18:26
谢谢显示得很清楚如何解决这个问题。 – user2824073 2015-03-03 13:03:56
不用担心,骆驼好运,这是一个很棒的框架,一旦你使用它一段时间:) – vikingsteve 2015-03-03 13:04:45