je la route de chameau qui suit:Camel maréchal Bindy à fichier crée plusieurs rangées d'en-tête
from(inputDirectory)
.unmarshal(jaxb)
.process(jaxb2CSVDataProcessor)
.split(body()) //because there is a list of CSVRecords
.marshal(bindyCsvDataFormat)
.to(outputDirectory); //appending to existing file using "?autoCreate=true&fileExist=Append"
pour ma classe de modèle CSV J'utilise des annotations:
@CsvRecord(separator = ",", generateHeaderColumns = true)
...
et pour les propriétés
@DataField(pos = 0)
...
Mon problème est que les en-têtes sont ajoutés chaque fois qu'un nouvel enregistrement CSV est ajouté.
Y at-il un moyen non-sale de contrôler cela? Est-ce que je manque quelque chose ici?
Les en-têtes sont-ils ajoutés pour chaque enregistrement ou fichier par fichier consommé? – dimitrisli
Pour chaque enregistrement. – theo
Cela est attendu parce que vous appelez le marshal dans le séparateur. Essayez sans le séparateur. –