32.3. XPath Injection
参数绑定注解 复制链接链接已复制到粘贴板!
当使用 Apache Camel bean 集成在 Java bean 上调用方法时,您可以使用 @XPath
注释从交换中提取值并将其绑定到方法参数。
例如,请考虑以下路由片段,它会在 AccountService
对象上调用 credit
方法:
from("queue:payments") .beanRef("accountService","credit") ...
from("queue:payments")
.beanRef("accountService","credit")
...
credit
方法使用参数绑定注解从消息正文中提取相关数据并将其注入参数,如下所示:
如需更多信息,请参阅客户门户网站中的 Apache Camel 开发指南中的 Bean 集成。
命名空间 复制链接链接已复制到粘贴板!
表 32.1 “@XPath 的预定义命名空间” 显示 XPath 预定义命名空间。您可以在 @XPath
注解中显示的 XPath
表达式中使用这些命名空间前缀。
命名空间 URI | prefix |
---|---|
| |
|
自定义命名空间 复制链接链接已复制到粘贴板!
您可以使用 @NamespacePrefix
注释来定义自定义 XML 命名空间。调用 @NamespacePrefix
注释,以初始化 @XPath
注释 的命名空间
参数。然后,可以在 @XPath
注释的表达式值中使用 @NamespacePrefix
定义的命名空间。
例如,要将前缀 ex
与自定义命名空间 http://fusesource.com/examples
关联,请按如下所示调用 @XPath
注解: