1

私は次のルートを持っています:

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

問題は、ファイルに 4 つのレコードがある場合、最初のグループはプロセッサに入るListが、2 番目のグループは単一の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"

Bindy常にアンマーシャリングを強制する方法はありListますか?

4

2 に答える 2