如何强迫Bindy总是返回List?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何强迫Bindy总是返回List?相关的知识,希望对你有一定的参考价值。

我有以下路线:

from("direct:abc")
        // read the file  
        .split(body().tokenize("
", 3, false)).streaming().stopOnException()
        .unmarshal(new BindyCsvDataFormat(Foo.class))
        .process(new FooListProcessor());

问题是如果我在文件中有4条记录,第一组在处理器中作为List而第二组作为单个Foo对象。我必须用instanceof检查身体,并在每次出现这种情况时创建一个列表。

Foo类:

@CsvRecord(separator = ",")
public class Foo {
   @DataField(pos = 1)
   private String fooField;
   @DataField(pos = 2, trim = true)
   private String barField;
}

文件内容:

"lorem","ipsum"
"dolorem","sit"
"consectetur","adipiscing"
"eiusmod","incididunt"

有没有办法迫使qazxsw poi总是在一个qazxsw poi解组?

答案

如果有单个实例,则没有bindy返回单个实例。而且还有更多的清单。

我已经记录了一张改进的票证,所以你可以配置它:Bindy

另一答案

只是一个小点。因为它不受支持,因为@Claus说,而不是你做处理器代码检查的实例,你也可以在这样的路线中做它,让骆驼为你处理它。

List

以上是关于如何强迫Bindy总是返回List?的主要内容,如果未能解决你的问题,请参考以下文章

Python:函数总是返回无

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

为啥 findFragmentById 总是返回 null

如何从片段返回主要活动

函数检查 (length (list) != 0) 总是返回 length = 0

如何在 Toad for Oracle 中使用自定义代码片段?