Apache Camel如何使用simple表达式的contains设置布尔类型header
实现方法
你写的这段XML DSL代码本身就可以直接实现需求,Apache Camel的Simple表达式中contains运算符的返回值本身就是布尔类型,赋值给header时会直接保留true/false的布尔值,不会被转为字符串。
原生可用的XML DSL写法
<setHeader name="status"> <simple>${headers.type} contains 'client'</simple> </setHeader>
如果有类型校验的额外要求,可以显式指定结果类型为布尔,写法如下:
<setHeader name="status"> <simple resultType="java.lang.Boolean">${headers.type} contains 'client'</simple> </setHeader>
Java DSL对应写法
如果用Java DSL的话写法如下:
.setHeader("status", simple("${headers.type} contains 'client'", Boolean.class))
内容的提问来源于stack exchange,提问作者DummyGuy
相关产品推荐
相关产品推荐

