第 285 章 RouteBox 组件(已弃用)
从 Camel 版本 2.6 开始提供
用于更改的 Routebox 主题
routebox 组件允许创建专用端点,将封装和基于策略的间接服务提供给托管在自动创建或用户注入 camel 上下文中的 camel 路由集合。
Routebox 端点是在 camel 路由上直接调用的 camel 端点。routebox 端点执行以下键功能
- 封装 - 充当黑框,托管存储在内 Camel 上下文中的一系列 camel 路由。内部上下文完全受 routebox 组件的控制,并且是 JVM 绑定。
- 基于策略的间接 - 根据用户定义的内部路由策略或分配映射,将发送到 routebox 端点和 camel 路由到特定内部路由的有效负载。
- Exchange propagation - 将 routebox 端点修改的交换转发到 camel 路由的下一个片段。
routebox 组件支持使用者和制作者端点。
制作者端点有两种类型
- 将传入的请求发送到外部 routebox 消费者端点的制作者
- 在内部嵌入式 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 组件旨在简化复杂环境中的集成
- 大量路由和
- 涉及大量端点技术需要以不同方式集成
在这样的环境中,在 camel 路由之间创建分层,通常需要对其进行设计,从而有效地将它们整理到
- 粗粒度或更高级别路由 - 聚合内或较低级别的路由集合,作为代表集成重点的 Routebox 端点公开。例如:
关注区域 | 粗粒度路由示例 |
---|---|
department Focus | HR 路由、销售路由等 |
供应链和 B2B 重点 | 发运路由、填充路由、第三方服务等 |
技术重点 | 数据库路由、JMS 路由、Scheduled 批处理路由等 |
- 细粒度路由 - 执行单数和特定业务和/或集成模式的路由。
然后,发送到粗粒度路由上的 Routebox 端点的请求可以委托请求进行内部精细路由,以达到特定的集成目标,收集最终内部结果,并继续执行下一步。