Apache camel 如何在Camel中将文件拆分为多行,但以不同方式处理第一行

Apache camel 如何在Camel中将文件拆分为多行,但以不同方式处理第一行,apache-camel,Apache Camel,我正在使用标记器将文件拆分为行: .split().tokenize("\n", 1) 但是,我需要处理的一些文件将包含一个标题行,这将需要以与普通行不同的方式处理。有没有一种简单的方法来读取第一行,处理它,然后拆分其余的行?您可以这样做。它将使用基于内容的路由器EIP,然后使用不同的子路由进行处理 from(A) .split().tokenize("\n",1) .choice() .when(simple("${property.CamelSplit

我正在使用标记器将文件拆分为行:

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

但是,我需要处理的一些文件将包含一个标题行,这将需要以与普通行不同的方式处理。有没有一种简单的方法来读取第一行,处理它,然后拆分其余的行?

您可以这样做。它将使用基于内容的路由器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);