第 285 章 RouteBox 组件(已弃用)
可作为 Camel 版本 2.6 提供。
Routebox 的变化
routebox 组件支持创建提供封装的专用端点,以及基于策略间接服务的集合到由自动创建或注入的 camel 上下文托管的 camel 路由的集合。
Routebox 端点是 camel 端点,可以直接在 camel 路由上调用。routebox 端点执行以下关键功能
- 封装 - 充当黑盒,托管存储在内部的 camel 上下文中的 camel 路由。内部上下文完全受路由box组件的控制,并且 JVM 绑定。
- 基于策略的间接 - 根据用户定义的内部路由策略或发送映射,将发送到路由程序端点的直接有效负载以及发送到特定内部路由路由的路由。
- Exchange propagation - 将路由box 端点修改的交换与 camel 路由的下一段进行转发。
routebox 组件支持使用者和制作者端点。
制作者端点有两种类型
- 将传入请求发送到外部路由box 消费者端点的生产者
- 直接调用内部嵌入式 camel 上下文中路由的生产者不会向外部使用者发送请求。
Maven 用户需要将以下依赖项添加到其 pom.xml
中:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-routebox</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
285.1. Camel Routebox 端点的需求
routebox 组件旨在简化需要复杂环境中的集成
- 大量路由和
- 涉及广泛的端点技术需要以不同的方式集成
在这种环境中,通常需要通过创建分层路由有效整理到其中来制作集成解决方案
- 细粒度或更高级别的路由 - 以内或较低级别的路由集公开为代表集成关注区域的 Routebox 端点。例如:
关注区域 | coarse grained Route 示例 |
---|---|
部门重点 | HR 路由、销售路由等 |
供应链和 B2B Focus | 发运路由、填充路由、第三方服务等 |
技术重点 | 数据库路由、JMS 路由、调度的批处理路由等 |
- 精细路由 - 执行单和特定业务和/或集成模式的路由。
然后,发送到合作路由上的 Routebox 端点的请求可以把请求委托给内部精细的路由,以实现特定的集成目标,收集最终的内部结果,并继续在下一步中逐步推进到下一步骤。