Chameau: le Fractionnement d'une collection et l'écriture de fichiers
Im essayant de diviser une liste de tableaux et d'écriture de chaque élément à son propre fichier à l'aide d'Apache Camel comme dans cet exemple simplifié:
from("timer://poll?period=10000").process(new Processor(){
public void process(Exchange exchange){
ArrayList<String> list = new ArrayList<String>();
list.add("one");
list.add("two");
list.add("three");
exchange.getIn().setBody(list, ArrayList.class);
}
}).split(body()).log(body().toString()).to("file:some/dir");
Le journal d'estampes de chaque élément, mais seulement "trois" est enregistré dans un fichier. Ce que je fais mal?
Jan
OriginalL'auteur jpstrube | 2011-08-30
Vous devez vous connecter pour publier un commentaire.
Le producteur de fichiers par défaut "remplacer" si un fichier existe déjà.
Voir le fileExist l'option page de documentation
http://camel.apache.org/file2
Depuis l'entrée de cette route est aussi un fichier, puis le producteur "héritent" le nom de fichier à partir de l'entrée.
Si dans votre cas, si vous souhaitez enregistrer chaque découpé message dans un nouveau fichier, vous devez définir un nom de fichier image, à l'aide de l'option nom de fichier
L'option nom de fichier prend en charge le simple, et la langue de fichier
http://camel.apache.org/simple.html
http://camel.apache.org/file-language.html
Que signifie le nom de fichier peut être dynamique, calculée comme ci-dessus, où ${id} est un unique id de message.
.setHeader("CamelFileName", simple(body().toString()))
OriginalL'auteur Claus Ibsen
Après que vous avez appelé la fonction split, votre parcours est divisé en 3 façons, chaque méthode ou à l'itinéraire exécuté après qui est appliquée sur chaque processus.
Dans chaque processus façon, la méthode de fractionnement ajouter CamelSplitIndex propriété.
Donc, ce code devrait fonctionner
C'est le deuxième exemple avec un fichier xml et xpath.
Nous supposons que vous souhaitez explose xml pour chaque nœud ordre avec un nom d'élément à l'intérieur:
Nous supposons que nous voulons pour exploser ce fichier xml dans 2 fichiers
OriginalL'auteur Thibaut