第 241 章 Netty HTTP 组件(已弃用)


从 Camel 版本 2.12 开始提供

netty-http 组件是 Netty 组件的扩展,用于通过 Netty 协助 HTTP 传输。

此 camel 组件支持生成者和消费者端点。

警告

此组件已弃用。您应使用 Netty4 HTTP

注意

.Netty 是基于流的,这意味着它收到的输入作为流提交给 Camel。这意味着您只能够读取一次流的内容。如果您发现了一个情况,消息正文显示为为空,或者您需要多次访问数据(例如:执行多播或重新发送错误处理),您应该使用流缓存或将消息正文转换为 String,这会安全地重新读取多次。注意 Netty4 HTTP 使用 io.netty.handler.codec.http.HttpObjectAggregator 将整个流读入内存中,以构建整个完整 http 消息。但是,生成的消息仍然是基于流的消息,该消息一次是可读的。

Maven 用户需要将以下依赖项添加到这个组件的 pom.xml 中:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-netty-http</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

241.1. URI 格式

netty 组件的 URI 方案如下

netty-http:http://0.0.0.0:8080[?options]

您可以在 URI 中附加查询选项,格式为 ?option=value&option=value&…​

注意

查询参数和端点选项.您可以了解 Camel 如何识别 URI 查询参数和端点选项。例如,您可以创建端点 URI,如下所示 - netty-http:http//example.com?myParam=myValue&compression=true。在本例中,myParam 是 HTTP 参数,而 压缩 是 Camel 端点选项。在这种情况下,Camel 使用的策略是解决可用的端点选项并将其从 URI 中删除。这意味着,对于所讨论的示例,Netty HTTP producer 发送的 HTTP 请求将如下所示 - http//example.com?myParam=myValue,因为 压缩 端点选项将从目标 URL 解析并删除。请记住,您无法使用动态标头(如 CamelHttpQuery)指定端点选项。端点选项只能在端点 URI 定义级别(如 to 或 DSL 元素)指定。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.