173.7. 消费者示例


在本例中,我们定义了一个在 http://localhost:8080/myapp/myservice 中公开 HTTP 服务的路由:

localhost 的使用情况

当您在 URL 中指定 localhost 时,Camel 只在本地 TCP/IP 网络接口上公开端点,因此无法从其操作的机器外部访问该端点。

如果您需要在特定网络接口上公开 Jetty 端点,则该接口的数字 IP 地址应用作主机。如果您需要在所有网络接口上公开 Jetty 端点,则应使用 0.0.0.0 地址。

要侦听整个 URI 前缀,请参阅 如何让 Jetty 匹配通配符

如果您实际上想要通过 HTTP 公开路由,并且已经具有 Servlet,则应引用 Servlet 传输

我们的业务逻辑在 MyBookService 类中实施,后者访问 HTTP 请求内容,然后返回响应。
注意: assert 调用会出现在此例中,因为代码是单元测试的一部分。

以下示例显示了一个基于内容的路由,该路由将含有 URI 参数的所有请求路由到端点、mock: one 及其他所有请求以模拟 :other

因此,如果客户端发送 HTTP 请求 http://serverUri?one=hello,Jetty 组件将复制 HTTP 请求参数,一个用于 交换的 in.header。然后,我们可以使用 简单 语言将包含此标头的交换路由到特定的端点,并将所有其他内容路由到另一个端点。如果我们使用了比 简单 (如 OGNL)更强大的语言,我们也可以对参数值进行测试,并根据标头值进行路由。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat