Camel 绑定跳过空的csv文件

s6fujrry  于 2022-11-07  发布在  Apache
关注(0)|答案(1)|浏览(155)

我创建了一个camel路由,它使用camel bindy解组csv文件,并将内容写入数据库。除了文件为空时,这一点非常有效,看起来这种情况经常发生。文件确实包含csv头,但没有相关数据,例如:

CODE;CATEGORY;PRICE;

在这种情况下,会掷回下列错误:

java.lang.IllegalArgumentException: No records have been defined in the CSV

我试着将allowEmptyStream = true添加到用于解组的bindy对象中,但是这似乎没有多大作用,因为出现了同样的错误。
任何关于如何跳过处理这些空文件的想法都是非常受欢迎的。

pgky5nke

pgky5nke1#

在您的用例中,必须在Bindy DataFormat级别将选项allowEmptyStream设置为true,如下所示:

BindyCsvDataFormat bindy = new BindyCsvDataFormat(SomeModel.class);
bindy.setAllowEmptyStream(true);

from("file:some/path")
    .unmarshal(bindy)
    // The rest of the route

相关问题