0 jboss apache-camel enterprise-integration
apache Camel 中的过滤器和选择有什么区别?
from("direct:a")
.choice()
.when(header("foo").isEqualTo("bar"))
.to("direct:b")
.when(header("foo").isEqualTo("cheese"))
.to("direct:c")
.otherwise()
.to("direct:d");
Run Code Online (Sandbox Code Playgroud)
简而言之,过滤器就像一个单独的 javaif语句,例如
if x = 2 {
...
}
Run Code Online (Sandbox Code Playgroud)
在骆驼中:
.filter(header("foo").isEqualTo("bar"))
...
.end()
Run Code Online (Sandbox Code Playgroud)
而选择就像一个javaif ... elseif ... elseif ... else语句,
if x = 2 {
...
} else if x = 3 {
...
}
Run Code Online (Sandbox Code Playgroud)
在骆驼中:
.choice()
.when(header("foo").isEqualTo("bar"))
...
.when(header("foo").isEqualTo("chese"))
...
.otherwise()
....
.end()
Run Code Online (Sandbox Code Playgroud)
请注意,otherwise在choice.
| 归档时间: |
|
| 查看次数: |
2070 次 |
| 最近记录: |