Apache Camel Diviseur de Fichier par Exemple

Je me suis donné un fichier contenant des Id numériques qui sont séparées par des sauts de ligne ("\n"):

123948
939904
129384
234049

etc. Je veux utiliser Chameau pour transformer le fichier en une instance de 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.
}

Je suis en train de voir si je peux utiliser du Chameau Splitter composant pour ce faire le formulaire de moi, mais il se sent comme je suis en train d'essayer de forcer un ergot rond dans un trou carré:

<route>
    <from uri="file://input/idfile"/>
    <split streaming="true">
        <tokenize token="\n" />
        <to uri="bean://idfileProcessor?method=process"/>
    </split>
</route>

Ci-dessus ressemble, il permettrait de diviser mon fichier dans un List<Long>, mais j'ai besoin de nom de fichier associée avec la liste ainsi. Des idées?

  • ne idfileProcessor cartes à IDFile quelque part. parce qu'il ressemble à son processeur. si c'est pourriez-vous nous montrer comment êtes-vous de traitement de l'échange?
  • Merci @Ashish (+1) - je suppose que ma pensée était d'avoir la <split> effectuer la transformation pour moi, de sorte que par le temps que le message arrive à idfileProcessor (oui, un Chameau Processor), je peux juste extraire le IDFile POJO de l'échange comme suit: IDFile idFile = (IDFile)exchange.getIn().getBody();. Le idfileProcessor peut alors traiter le IDFile instance. Désolé pour la confusion!
InformationsquelleAutor IAmYourFaja | 2013-12-18