第 50 章 使用带有 Camel 的 OSGi 蓝图
已创建蓝图的自定义 XML 命名空间,以便您利用 nice XML dialect。给定的 Blueprint 自定义命名空间还没有标准化,此命名空间只能用于 Apache Aries Blueprint 实现,这是 Apache Karaf 使用的。
50.1. 概述 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
XML 模式与 Spring 基本相同,因此引用 Spring XML 的文档中的所有 xml 片断也适用于 Blueprint 路由。
以下是使用蓝图的简单路由定义:
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
<camelContext xmlns="http://camel.apache.org/schema/blueprint">
<route>
<from uri="timer:test" />
<to uri="log:test" />
</route>
</camelContext>
</blueprint>
此时,支持的 xml 元素有一些限制(与 Spring xml 语法不同):
- beanPostProcessor 特定于 Spring,不被允许
但是,当您在 OSGi 中部署应用程序时使用蓝图具有以下优点:
- 当升级到新的 camel 版本时,您不必更改命名空间,因为会根据捆绑包导入的 camel 软件包选择正确的版本
- 没有与自定义命名空间和捆绑包相关的启动排序问题
- 您可以使用 Blueprint 属性占位符