Camel bindy marshal to file创建多个标题行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Camel bindy marshal to file创建多个标题行相关的知识,希望对你有一定的参考价值。

我有以下骆驼路线:

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"

对于我的CSV模型类,我正在使用注释:

@CsvRecord(separator = ",", generateHeaderColumns = true)
...

和财产

@DataField(pos = 0)
...

我的问题是每次附加新的csv记录时都会附加标题。

是否有一种非脏的方式来控制它?我在这里错过了什么吗?

答案

我最终添加了一个处理器,用于检查csv文件是否存在于“to”子句之前。在那里,我对字节数组进行操作并删除标题。

另一答案

我做了一个非常好的工作,通过查询@DataField注释的列名来创建头。这是在第一次写入文件时发生的。我在这里写下了整个解决方案:

How to generate a Flat file with header and footer using Camel Bindy

以上是关于Camel bindy marshal to file创建多个标题行的主要内容,如果未能解决你的问题,请参考以下文章

Camel XSLT 转换

Android:使用Parcelable接口在跳转Activity时传递数据以及错误信息 Parcel: unable to marshal value 的解决

Android:使用Parcelable接口在跳转Activity时传递数据以及错误信息 Parcel: unable to marshal value 的解决

路由之间的JMS提交 - 我想在Camel中的路由之间提交事务

以成功路线为先决条件的路线(Camel)

Camel 和rabbitmq 集成处理