我如何处理equalsIgnoreCase?
以下只能处理isEqualTo,是否可以在处理器内部没有任何内容的情况下执行此操作?
@Test
public void testPreicateProperties() throws Exception {
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("direct:a")
.setProperty("A", constant("ab"))
.setProperty("B", constant("aB"))
.setHeader("A", constant("ab"))
.setHeader("B", constant("aB"))
.choice()
.when(PredicateBuilder.and(exchangeProperty("A").isEqualTo(exchangeProperty("B"))))
.log("Equal properties")
.otherwise()
.log("Not Equal properties")
.endChoice()
.choice()
.when(PredicateBuilder.and(header("A").isEqualTo(header("B"))))
.log("Equal headers")
.otherwise()
.log("Not Equal headers")
;
}
});
template.sendBody("direct:a", "body");
Thread.sleep(1500);
}
答案 0 :(得分:1)
目前没有此类支持。但是有一张类似的机票可以添加它。
该票证将以简单语言和值构建器添加equalsIgnoreCase支持。
答案 1 :(得分:0)
您可以使用Simple
语言(请参阅here)创建正则表达式,然后将其配置为不区分大小写。
见这一行:
when(exchangeProperty("A").matches(constant("${exchangeProperty.B}/i")))
它使用属性B生成正则表达式,其中/ i表示“不敏感”。然后,它将正则表达式与属性A匹配。