10.4.3. Java 示例
以下示例显示了操作中的 Push
和
Pop 操作:
from("direct:start") .to("mock:a") .claimCheck(ClaimCheckOperation.Push) .transform().constant("Bye World") .to("mock:b") .claimCheck(ClaimCheckOperation.Pop) .to("mock:c");
以下是使用 Get
和 Set
操作的示例。这个示例使用 foo
键。
from("direct:start") .to("mock:a") .claimCheck(ClaimCheckOperation.Set, "foo") .transform().constant("Bye World") .to("mock:b") .claimCheck(ClaimCheckOperation.Get, "foo") .to("mock:c") .transform().constant("Hi World") .to("mock:d") .claimCheck(ClaimCheckOperation.Get, "foo") .to("mock:e");
注意
您可以使用 Get
操作获得相同的数据两次,因为它不会删除数据。但是,如果您只想获得数据一次,请使用 GetAndRemove
操作。
以下示例演示了如何使用过滤器选项,从中只想获得 foo
或 bar
的标头。
from("direct:start") .to("mock:a") .claimCheck(ClaimCheckOperation.Push) .transform().constant("Bye World") .setHeader("foo", constant(456)) .removeHeader("bar") .to("mock:b") // only merge in the message headers foo or bar .claimCheck(ClaimCheckOperation.Pop, null, "header:(foo|bar)") .to("mock:c");