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