Я даться файл, содержащий числовые идентификаторы, которые разделяются символами новой строки («\n
»):Apache Camel Splitter файла в примере
123948
939904
129384
234049
и т.д. Я хочу использовать верблюд, чтобы преобразовать файл в экземпляр следующего POJO:
public class IDFile {
private String fileName; // The name of the file
private List<Long> ids; // All the IDs in the file (123948, 939904, etc.)
// Constructor, getters/setters, etc.
}
Я пытаюсь увидеть, если я могу использовать Splitter компонент CAMEL, чтобы сделать эту форму мне, но он чувствует, как я пытаюсь заставить круглую затычку в квадратное отверстие:
<route>
<from uri="file://input/idfile"/>
<split streaming="true">
<tokenize token="\n" />
<to uri="bean://idfileProcessor?method=process"/>
</split>
</route>
Вышеприведенное выглядит так, будто оно разбило бы мой файл на List<Long>
, но мне также нужно имя файла, связанное с этим списком. Есть идеи? Заранее спасибо!
делает idfileProcessor карты для IDFile где-то. потому что он выглядит как его процессор. Если бы вы могли показать нам, как вы обрабатываете обмен? – Ashish
Спасибо @Ashish (+1) - Думаю, я думал, что '' * выполняет преобразование для меня *, так что к моменту поступления сообщения в 'idfileProcessor' (да, Camel' Processor') Я могу просто извлечь «IDFile» POJO из обмена следующим образом: 'IDFile idFile = (IDFile) exchange.getIn(). GetBody();'. Затем 'idfileProcessor' мог * обрабатывать * экземпляр' IDFile'. Извините за беспорядок! –
IAmYourFaja