209.4. Eclipse Kura 组件
可作为 Camel 2.15 可用
本文档页面涵盖了 Camel 与 Eclipse Kura M2M 网关的集成选项。将 Camel 路由部署到 Eclipse Kura 的常见原因是,为消息传递 M2M 网关提供企业集成模式和 Camel 组件。例如,您可能希望在 Raspberry PI 上安装 Kura,然后从附加到该 Raspberry PI 的传感器读取温度值,最后使用 Kura 服务将当前的温度值转发到您的数据中心服务。
209.4.1. KuraRouter activator
部署到 Eclipse Kura 的捆绑包通常会作为捆绑激活器开发。因此,将 Apache Camel 路由部署到 Kura 的最简单方法是创建 OSGi 捆绑包,其中包含扩展 org.apache.camel.kura.KuraRouter
类的 OSGi 捆绑包:
public class MyKuraRouter extends KuraRouter { @Override public void configure() throws Exception { from("timer:trigger"). to("netty-http:http://app.mydatacenter.com/api"); } }
请记住,KuraRouter
实施 org.osgi.framework.BundleActivator
接口,因此您需要 在创建 Kura bundle 组件类 时注册其
生命周期方法。
启动和停止
Kura router 来启动自己的 OSGi 感知型 CamelContext
。这意味着,对于扩展 KuraRouter
的每个类,将有一个专用的 CamelContext
实例。理想情况下,我们建议每个 OSGi 捆绑包部署一个 KuraRouter
。