我正在處理一個csv文件,現在在處理內容之前,現在需要驗證頭文件(從csv開始的第一行)。我試圖在頭文件(Exchange)中設置屬性,但是當我從文件中讀取下一行時,我丟失了之前設置的屬性。駱駝拆分文件和交換
from("file:/home/archivos/")
.split().tokenize("\n",1)
.choice()
.when(simple("${property.CamelSplitIndex} > 0"))
.bean(BindingMDS.class, "processContent(${body}, ${file:name})")
.otherwise()
.bean(BindingMDS.class, "processHeader(${body}, ${file:name}");
這就是它的豆
public class BindingMDS {
...
public void processHeader(String cabeceras, String nombreArchivo, Exchange exchange) {
... // validate columns from header
exchange.getIn().setHeader("IS_CORRECT_HEADER", new Integer(1));
}
public String processContent(String body, String nombreArchivo, Exchange exchange) {
Integer flag = (Integer) exchange.getIn().getHeader("IS_CORRECT_HEADER");
// ... this value is null
}
}
任何想法?我在調試模式下,他們是兩個不同的實例看到...
謝謝...