Filter 驼峰消息筛选-正文内容筛选
我不熟悉Camel,希望找到一个基于正文内容过滤JMS主题msg的选项。我研究了不同的过滤语言,如simple、OGNL、groovy等,但无法弄清楚如何将其应用于基于内容的过滤 下面是我需要从中筛选的JMS消息/内容的示例-Filter 驼峰消息筛选-正文内容筛选,filter,activemq,apache-camel,jms-topic,Filter,Activemq,Apache Camel,Jms Topic,我不熟悉Camel,希望找到一个基于正文内容过滤JMS主题msg的选项。我研究了不同的过滤语言,如simple、OGNL、groovy等,但无法弄清楚如何将其应用于基于内容的过滤 下面是我需要从中筛选的JMS消息/内容的示例- "created_at":"Wed Sep 11 14:48:38 EDT 2013","text":"habra que ir pensando en cambiar el iphone...","id":"377866287525138432" 筛选条件应为“tex
"created_at":"Wed Sep 11 14:48:38 EDT 2013","text":"habra que ir pensando en cambiar el iphone...","id":"377866287525138432"
筛选条件应为“text”或body()包含“iphone”(ignorecase)
差不多-
from("activemq:topic:MyTopic")
.filter().ognl(getRequest().getBody().???)
.to("file:/abc/?fileName=abcFile.txt&autoCreate=true&fileExist=Append")
如有任何想法/建议,将不胜感激
谢谢 我建议花点时间阅读Camel文档,例如
.filter().ognl("getRequest().getBody().contains('iphone')")
虽然可能会短一些
.filter().ognl("request.body.contains('iphone')")
您也可以尝试使用基于内容的路由。如果您可以根据内容选择多个目的地来路由消息,这将很有帮助
from(“jms:topic:MyTopic”)
.choice()
.when(body().contains('iphone'))
。致(“直接:b”)
.否则()
。致(“直接:d”)代码>在类似的情况下,它对我有帮助。如果您使用maven,不要忘记添加依赖项camel ognl。谢谢你,克劳斯。