第 241 章 Netty HTTP 组件(已弃用)
从 Camel 版本 2.12 开始提供
netty-http 组件是 Netty 组件的扩展,以便于使用 Netty 进行 HTTP 传输。
此 camel 组件支持制作者和消费者端点。
此组件已弃用。您应该使用 Netty4 HTTP。
流.Netty 基于流,这意味着它收到的输入将提交给 Camel 作为流。这意味着您只能够读取一次流的内容。如果您发现了一个情况,消息正文似乎为空,或者您需要多次访问数据(例如:执行多播或重新传送错误处理),您应该使用流缓存,或将消息正文转换为一个字符串,可以安全地重新读取多次。注意 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& amp;option=value&…
查询参数与端点选项.您可能会知道 Camel 如何识别 URI 查询参数和端点选项。例如,您可以创建端点 URI,如下所示 - netty-http:http//example.com?myParam=myValue&compression=true
。在本例中,myParam
是 HTTP 参数,而 compression
是 Camel 端点选项。在这种情形中,Camel 使用的策略是解析可用的端点选项并从 URI 中删除它们。这意味着,对于讨论的示例,Netty HTTP producer 发送的 HTTP 请求将如下所示 - http//example.com?myParam=myValue
,因为 压缩
端点选项将从目标 URL 解析和删除。另请注意,您不能使用动态标头(如 CamelHttpQuery
)指定端点选项。端点选项只能在端点 URI 定义级别指定(例如 ,
DSL 元素指定)。
或从