2016-07-27 68 views

回答

3

我发现了一个办法,把它与处理器组件和一些Java代码来完成:

String jsonpathFilter = SimpleLanguage.simple(
    "$.person[?(@.role=='${headers.role}')]").evaluate(exchange, String.class); 
String result = new JsonPathExpression(jsonpathFilter).evaluate(exchange, String.class); 
exchange.getIn().setBody(result); 

但我不是很高兴与此解决方案。所以如果你知道更好的方法,请告诉我。

+0

Gotcha - 在这种情况下,您自己的解决方案是首选的,直到CAMEL-10189 已得到解决(这或多或少地与您一样做)。我删除了我的答案。 –

1

不,这是不可能的直接在语法中,但它是一个好主意。所以我已经登录了一张票:https://issues.apache.org/jira/browse/CAMEL-10189

如果我们有这个开箱即用的话,它适用于任何DSL,比如Java和XML DSL。

+0

谢谢,这将使它在未来更容易。 – JBernhardt

相关问题