48.4. 组件选项
HTTP 组件支持 40 个选项,如下所列。
| Name | 描述 | 默认值 | 类型 |
|---|---|---|---|
| cookieStore (producer) | 使用自定义 org.apache.http.client.CookieStore。默认情况下,使用 org.apache.http.impl.client.BasicCookieStore,它是一个仅限内存的 Cookie 存储。请注意,如果 bridgeEndpoint=true,那么 Cookie 存储被强制成为 noop cookie 存储,因为 Cookie 不应像我们只是桥接一样存储(例如作为代理)。 | CookieStore | |
| copyHeaders (producer) | 如果此选项为 true,则 IN Exchange 标头将根据复制策略复制到 OUT 交换标头。把它设置为 false,仅允许包含来自 HTTP 响应的标头(而不是传播 IN 标头)。 | true | 布尔值 |
| lazyStartProducer (producer) | 生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 Camel 的路由错误处理程序进行处理。请注意,在处理第一个消息时,创建并启动生成者可能需要稍等时间,并延长处理的总处理时间。 | false | 布尔值 |
| responsePayloadStreamingThreshold (producer) | 这个阈值(以字节为单位)控制响应有效负载是否应存储在内存中,或者存储为字节阵列或基于流。把它设置为 -1 以始终使用流模式。 | 8192 | int |
| skipRequestHeaders (producer (advanced)) | 是否跳过将所有 Camel 标头映射为 HTTP 请求标头。如果没有来自 Camel 标头的数据,则需要包含在 HTTP 请求中,这样可避免为 JVM 垃圾收集器处理大量对象分配的开销。 | false | 布尔值 |
| skipResponseHeaders (producer (advanced)) | 是否跳过将所有 HTTP 响应标头映射到 Camel 标头的映射。如果没有 HTTP 标头需要的数据,这可以避免解析 JVM 垃圾收集器的许多对象分配的开销。 | false | 布尔值 |
| followRedirects (producer (advanced)) | HTTP 请求是否应跟随重定向。默认情况下,HTTP 请求不遵循重定向。 | false | 布尔值 |
| allowJavaSerializedObject (advanced) | 当请求使用 context-type=application/x-java-serialized-object 时,是否允许 java serialization。默认为关闭。如果您启用它,则 Java 会将传入的数据反序列化 Java 请求,这可能会成为潜在的安全风险。 | false | 布尔值 |
| authCachingDisabled (advanced) | 禁用身份验证方案缓存。 | false | 布尔值 |
| automaticRetriesDisabled (advanced) | 禁用自动请求恢复和重新执行。 | false | 布尔值 |
| autowiredEnabled (advanced) | 是否启用自动关闭。这用于自动关闭选项(选项必须标记为 autowired),方法是在 registry 中查找查找是否有单个匹配类型实例,然后在组件上配置。这可以用于自动配置 JDBC 数据源、JMS 连接工厂、AWS 客户端等。 | true | 布尔值 |
| clientConnectionManager (advanced) | 使用自定义和共享 HttpClientConnectionManager 来管理连接。如果进行了配置,则始终将此端点用于此组件创建的所有端点。 | HttpClientConnectionManager | |
| connectionsPerRoute (advanced) | 每个路由的最大连接数。 | 20 | int |
| connectionStateDisabled (advanced) | 禁用连接状态跟踪。 | false | 布尔值 |
| connectionTimeToLive (advanced) | 连接到 live 的时间,时间单位为 millisecond,默认值为始终保持活动状态。 | long | |
| contentCompressionDisabled (advanced) | 禁用自动内容解压缩。 | false | 布尔值 |
| cookieManagementDisabled (advanced) | 禁用状态(cookie)管理。 | false | 布尔值 |
| defaultUserAgentDisabled (advanced) | 如果用户不提供任何用户,则禁用此构建器设置的默认用户代理。 | false | 布尔值 |
| httpBinding (advanced) | 使用自定义 HttpBinding 来控制 Camel 消息和 HttpClient 之间的映射。 | HttpBinding | |
| httpClientConfigurer (advanced) | 若要使用自定义 HttpClientConfigurer 来执行要使用的 HttpClient 配置。 | HttpClientConfigurer | |
| httpConfiguration (advanced) | 将共享 HttpConfiguration 用作基础配置。 | HttpConfiguration | |
| httpContext (advanced) | 在执行请求时使用自定义 org.apache.http.protocol.HttpContext。 | HttpContext | |
| maxTotalConnections (advanced) | 连接的最大数量。 | 200 | int |
| redirectHandlingDisabled (advanced) | 禁用自动重定向处理。 | false | 布尔值 |
| headerFilterStrategy (filter) | 使用自定义 org.apache.camel.spi.HeaderFilterStrategy 过滤到 Camel 消息的标头。 | HeaderFilterStrategy | |
| proxyAuthDomain (proxy) | 要使用的代理身份验证域。 | 字符串 | |
| proxyAuthHost (proxy) | 代理身份验证主机。 | 字符串 | |
| proxyAuthMethod (proxy) | 要使用的代理验证方法。 Enum 值:
| 字符串 | |
| proxyAuthNtHost (proxy) | 与 NTML 搭配使用的代理身份验证域(workstation 名称)。 | 字符串 | |
| proxyAuthPassword (proxy) | 代理身份验证密码。 | 字符串 | |
| proxyAuthPort (proxy) | 代理身份验证端口。 | 整数 | |
| proxyAuthUsername (proxy) | 代理身份验证用户名。 | 字符串 | |
| sslContextParameters (security) | 使用 SSLContextParameters 配置安全性。重要: 每个 HttpComponent 支持 org.apache.camel.support.jsse.SSLContextParameters 的一个实例。如果您需要使用 2 个或更多不同的实例,您需要为每个实例定义一个新的 HttpComponent。 | SSLContextParameters | |
| useGlobalSslContextParameters (security) | 启用使用全局 SSL 上下文参数。 | false | 布尔值 |
| x509HostnameVerifier (security) | 使用自定义 X509HostnameVerifier,如 DefaultHostnameVerifier 或 NoopHostnameVerifier。 | HostnameVerifier | |
| connectionRequestTimeout (timeout) | 从连接管理器请求连接时使用的超时时间(毫秒)。超时值为零解释为无限超时。超时值为零解释为无限超时。负值被解释为 undefined (系统默认值)。 | -1 | int |
| connectTimeout (timeout) | 决定在建立连接前的超时时间(以毫秒为单位)。超时值为零解释为无限超时。超时值为零解释为无限超时。负值被解释为 undefined (系统默认值)。 | -1 | int |
| responseTimeout (timeout) | 决定超时,直到与相反端点的响应为止。超时值为零解释为无限超时。请注意,带有消息多路复用的 HTTP 传输可能不支持响应超时。 | 0 | Timeout(超时) |
| soTimeout (timeout) | 决定阻止 I/O 操作的默认套接字超时值。 | 3 分钟 | Timeout(超时) |