第 285 章 RouteBox 组件(已弃用)
从 Camel 版本 2.6 开始提供
已更改的 Routebox 主题
routebox 组件允许创建专用端点,为在自动创建或用户注入的 camel 上下文中托管的 camel 路由提供封装和基于策略的间接服务集合。
Routebox 端点是 camel 端点,可以在 camel 路由上直接调用。routebox 端点执行以下关键功能
- 封装 - 充当黑box,托管存储在内部 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 端点的聚合或较低级别路由。例如:
关注区域 | 粗粒度路由示例 |
---|---|
departmentocus | HR 路由、销售路由等 |
供应链和 B2B 重点 | 发运路由、填充路由、第三方服务等 |
技术重点 | 数据库路由、JMS 路由、Scheduled batch 路由等 |
- 细粒度路由 - 执行单调和特定业务和/或集成模式的路由。
发送到 grained 粒度路由上的 Routebox 端点的请求可以将请求委派给内粒度路由,以实现特定的集成目标,收集最终结果,并继续进入下一步以及粗粒度路由。