13

トークナイザーを使用してファイルを行に分割しています。

.split().tokenize("\n", 1)

ただし、処理する必要のあるファイルの一部にはヘッダー行が含まれているため、通常の行とは異なる方法で処理する必要があります。最初の行を読み、それを処理してから、残りの行を分割する簡単な方法はありますか?

4

1 に答える 1

24

あなたはこのようなことをすることができます。コンテンツベースのルーターEIPを使用し、次に異なるサブルートを使用して処理します。

from(A)
   .split().tokenize("\n",1)
       .choice()
         .when(simple("${property.CamelSplitIndex} > 0"))
           .to("direct:processLine")
         .otherwise()
           .to("direct:processHeader");

from("direct:processLine")
 .bean(processLineBean)
 .to(B);

from("direct:processHeader")
 .bean(processHeaderBean)
 .to(B);
于 2013-01-23T13:25:12.103 に答える