Java 如何使用ApacheCamel在文本文件中搜索字符串

Java 如何使用ApacheCamel在文本文件中搜索字符串,java,apache-camel,jms,activemq,jms-serializer,Java,Apache Camel,Jms,Activemq,Jms Serializer,我是新来的阿帕奇骆驼。是否有人知道如何使用camel处理文本文件的内容,以检查文本文件中是否存在特定字符串(例如错误)。我似乎无法用java越过下面的第一行。任何帮助都将不胜感激 from("file://inputdir/").convertBodyTo(String.class). 使用和。例如: from("file://inputdir/") .choice() .when(bodyAs(String.class).contains("error"))

我是新来的阿帕奇骆驼。是否有人知道如何使用camel处理文本文件的内容,以检查文本文件中是否存在特定字符串(例如错误)。我似乎无法用java越过下面的第一行。任何帮助都将不胜感激

 from("file://inputdir/").convertBodyTo(String.class).
使用和。例如:

from("file://inputdir/")
    .choice()
        .when(bodyAs(String.class).contains("error"))
            .to(/* a route for errors */)
        .otherwise()
            .to(/* a route for non-errors */);

您可以按如下方式使用${bodyAsString}:

<route id="_route1">
<from id="_from1" uri="file:work/cbr/input"/>
<when id="_when1">
<simple>${bodyAs(String)} contains 'ABC'</simple>
<log id="_log1" message="contains string ABC"/>
<to id="_to1" uri="file:work/cbr/output"/>
</when>
</route>

我尝试使用bodyAs,但eclipse突出显示了一个错误类型“”的方法bodyAsClass未定义。我猜它已经过时了。你用的是什么版本的骆驼?在2.19.1中提供。该方法如您所说在2.19.1中找到。我用的是2.15。然后我改为2.19.1,因为我非常想解决这个问题,但是我的Wildfly 8.2.0由于不兼容而无法运行camel上下文。然后我不得不将Wildfly升级到10.1。但我的应用程序无法同时运行。有没有其他不使用bodyAs的方法,或者你能推荐一个更简单的应用服务器来为camel供电,因为我对这项技术还不熟悉。谢谢