Это мой верблюжий основной класс и мой верблюжий путь
public class MyCamelRoute {
public static void main(String... args) {
CamelContext context = new DefaultCamelContext();
try {
context.addRoutes(new CSVRoute());
context.start();
Thread.sleep(20000);
context.stop();
} catch (Exception e) {
e.printStackTrace();
}
}
}
class CSVRoute extends RouteBuilder {
public void configure() throws Exception {
CsvDataFormat csv = new CsvDataFormat();
from("file:my_csv.csv&noop=true")
.split(body().tokenize("\n")).streaming()
.unmarshal(csv)
.log(LoggingLevel.INFO, body().toString());
}
}
Когда я запускаю его, я получаю что-то вроде
13: 30: 42.730 [Camel (camel-1) thread # 1 - file: //my_csv.csv] INFO route1 - simple {[[534488]]}
13: 30: 42.732 [Camel (camel-1) thread # 1 - file: //my_csv.csv] INFO route1 - simple {[[969034]]}
13: 30: 42.734 [Camel (camel-1) thread # 1 - file: //my_csv.csv] INFO route1 - simple {[[510711]]}
13: 30: 42.736 [Camel (camel-1) thread # 1 - file: //my_csv.csv] INFO route1 - simple {[[778410]]}
13: 30: 42.737 [Camel (camel-1) thread # 1 - file: //my_csv.csv] INFO route1 - simple {[[803306]]}
13: 30: 42.739 [Camel (camel-1) thread # 1 - file: //my_csv.csv] INFO route1 - simple {[[567892]]}
13: 30: 42.741 [Camel (camel-1) thread # 1 - file: //my_csv.csv] INFO route1 - simple {[[269041]]}
13: 30: 42.743 [Camel (camel-1) thread # 1 - file: //my_csv.csv] INFO route1 - simple {[[622768]]}
13: 30: 42.745 [Camel (camel-1) thread # 1 - file: //my_csv.csv] INFO route1 - simple {[[701100]]}
13: 30: 42.746 [Camel (camel-1) thread # 1 - file: //my_csv.csv] INFO route1 - simple {[[169439]]}
13: 30: 42.747 [Camel (camel-1) thread # 1 - file: //my_csv.csv] INFO route1 - simple {[[435246]]}
У меня вопрос, я хочу получить доступ к значению внутри простого {[[ value ]]}, но я не совсем уверен, как.
То, что я сделал ранее, это просто отправил его процессу и использовал exchange.getBody().getIn()
и проверил / произвел оттуда, но я хотел попытаться избежать использования процесса.
Любая помощь очень ценится