151.2. Http4 组件选项


HTTP4 组件支持 18 个选项,如下所列。

Name描述默认值类型

httpClientConfigurer (advanced)

若要使用自定义 HttpClientConfigurer 来执行要使用的 HttpClient 配置。

 

HttpClientConfigurer

clientConnectionManager (advanced)

使用自定义和共享 HttpClientConnectionManager 来管理连接。如果进行了配置,则始终将此端点用于此组件创建的所有端点。

 

HttpClientConnection Manager

httpContext (advanced)

在执行请求时使用自定义 org.apache.http.protocol.HttpContext。

 

HttpContext

sslContextParameters (security)

使用 SSLContextParameters 配置安全性。重要: 每个 HttpComponent 支持 org.apache.camel.util.jsse.SSLContextParameters 的一个实例。如果您需要使用 2 个或更多不同的实例,您需要为每个实例定义一个新的 HttpComponent。

 

SSLContextParameters

useGlobalSslContext 参数 (security)

启用使用全局 SSL 上下文参数。

false

布尔值

x509HostnameVerifier (security)

使用自定义 X509HostnameVerifier,如 DefaultHostnameVerifier 或 org.apache.http.conn.ssl.NoopHostnameVerifier。

 

HostnameVerifier

maxTotalConnections (advanced)

连接的最大数量。

200

int

connectionsPerRoute (advanced)

每个路由的最大连接数。

20

int

connectionTimeToLive (advanced)

连接到 live 的时间,时间单位为 millisecond,默认值为始终保持活动状态。

 

long

cookieStore (producer)

使用自定义 org.apache.http.client.CookieStore。默认情况下,使用 org.apache.http.impl.client.BasicCookieStore,它是一个仅限内存的 Cookie 存储。请注意,如果 bridgeEndpoint=true,那么 Cookie 存储被强制成为 noop cookie 存储,因为 Cookie 不应像我们只是桥接一样存储(例如作为代理)。

 

CookieStore

connectionRequest Timeout (timeout)

从连接管理器请求连接时使用的超时时间(毫秒)。超时值为零解释为无限超时。超时值为零解释为无限超时。负值被解释为 undefined (系统默认值)。默认: code -1

-1

int

connectTimeout (timeout)

决定在建立连接前的超时时间(以毫秒为单位)。超时值为零解释为无限超时。超时值为零解释为无限超时。负值被解释为 undefined (系统默认值)。默认: code -1

-1

int

socketTimeout (timeout)

以毫秒为单位定义套接字超时(SO_TIMEOUT),这是等待数据的超时时间,或者以不同方式设置,一个最长期限在两个连续数据数据包之间不活跃。超时值为零解释为无限超时。负值被解释为 undefined (系统默认值)。默认: code -1

-1

int

httpBinding (advanced)

使用自定义 HttpBinding 来控制 Camel 消息和 HttpClient 之间的映射。

 

HttpBinding

httpConfiguration (advanced)

将共享 HttpConfiguration 用作基础配置。

 

HttpConfiguration

允许JavaSerialized Object (advanced)

当请求使用 context-type=application/x-java-serialized-object 时,是否允许 java serialization。默认为关闭。如果您启用它,则 Java 会将传入的数据反序列化 Java 请求,这可能会成为潜在的安全风险。

false

布尔值

headerFilterStrategy (filter)

使用自定义 org.apache.camel.spi.HeaderFilterStrategy 过滤到 Camel 消息的标头。

 

HeaderFilterStrategy

resolveProperty Placeholders (advanced)

组件是否应在启动时解析属性占位符。只有 String 类型的属性可以使用属性占位符。

true

布尔值

HTTP4 端点使用 URI 语法进行配置:

http4:httpUri

使用以下路径和查询参数:

151.2.1. 路径参数(1 参数):

Name描述默认值类型

httpUri

必需 调用的 HTTP 端点的 url。

 

URI

151.2.2. 查询参数(49 参数):

Name描述默认值类型

disableStreamCache (common)

确定 Servlet 中的原始输入流是否被缓存(Camel 将会在 memory/overflow 中读取流到文件,流缓存)缓存。默认情况下,Camel 将缓存 Servlet 输入流,以支持多次读取,以确保其 Camel 可以从流检索所有数据。但是,当您需要访问原始流时,您可以将此选项设置为 true,例如将其直接流传输到文件或其他持久性存储。DefaultHttpBinding 将请求输入流复制到流缓存中,如果此选项为 false,则将它放入消息正文,以支持多次读取流。如果您使用 Servlet 到 bridge/proxy 端点,则请考虑启用此选项来提高性能,如果您不需要多次读取消息有效负载。http/http4 producer 默认缓存响应正文流。如果将此选项设置为 true,则生成者不会缓存响应正文流,而是使用响应流作为消息正文。

false

布尔值

headerFilterStrategy (common)

使用自定义 HeaderFilterStrategy 过滤到 Camel 消息的标头。

 

HeaderFilterStrategy

httpBinding (common)

使用自定义 HttpBinding 来控制 Camel 消息和 HttpClient 之间的映射。

 

HttpBinding

authenticationPreemptive (producer)

如果此选项为 true,camel-http4 会将抢占基本身份验证发送到服务器。

false

布尔值

bridgeEndpoint (producer)

如果选项为 true,则 HttpProducer 将忽略 Exchange.HTTP_URI 标头,并使用端点的 URI 进行请求。您也可以将 选项 throwExceptionOnFailure 设置为 false,让 HttpProducer 发送所有错误响应。

false

布尔值

chunked (producer)

如果此选项为 false,则 Servlet 将禁用 HTTP 流,并在响应上设置 content-length 标头

true

布尔值

clearExpiredCookies (producer)

在发送 HTTP 请求前是否清除过期的 Cookie。这样可确保 Cookie 存储不会通过添加新 Cookie (当它们过期时删除)来保持增长。

true

布尔值

connectionClose (producer)

指定是否应将 Connection Close 标头添加到 HTTP Request 中。默认情况下,connectionClose 为 false。

false

布尔值

cookieStore (producer)

使用自定义 CookieStore。默认情况下,使用 BasicCookieStore,它是一个仅内存的 cookie 存储。请注意,如果 bridgeEndpoint=true,那么 Cookie 存储被强制成为 noop cookie 存储,因为 Cookie 不应像我们只是桥接一样存储(例如作为代理)。如果设置了 CookieHandler,则 Cookie 存储也强制成为 noop cookie 存储,因为 Cookie 处理随后由 cookieHandler 执行。

 

CookieStore

copyHeaders (producer)

如果此选项为 true,则 IN Exchange 标头将根据复制策略复制到 OUT 交换标头。把它设置为 false,仅允许包含来自 HTTP 响应的标头(而不是传播 IN 标头)。

true

布尔值

deleteWithBody (producer)

HTTP DELETE 是否应该包含消息正文。默认情况下,HTTP DELETE 不包含任何 HTTP 信息。然而,在某些情况下,用户可能需要包含消息正文。

false

布尔值

httpMethod (producer)

配置要使用的 HTTP 方法。如果设置,HttpMethod 标头无法覆盖此选项。

 

HttpMethods

ignoreResponseBody (producer)

如果此选项为 true,http producer 不会读取响应正文,并缓存输入流

false

布尔值

preserveHostHeader (producer)

如果选项为 true,HttpProducer 会将 Host 标头设置为当前交换主机标头中包含的值,这适用于您希望下游服务器收到的 Host 标头来反映上游客户端调用的 URL 的 URL,这将允许使用 Host 标头为代理服务生成准确的 URL 的应用

false

布尔值

throwExceptionOnFailure (producer)

如果来自远程服务器的失败响应,用于禁用抛出 HttpOperationFailedException。这样,您可以获取所有响应,而不考虑 HTTP 状态代码。

true

布尔值

transferException (producer)

如果在消费者端启用并交换失败处理,如果原因 Exception 在响应中作为 application/x-java-serialized-object 内容类型发送序列化,则结果为 application/x-java-serialized-object 内容类型。在生产者侧,异常将反序列化并丢弃为原样,而不是 HttpOperationFailedException。原因异常需要按顺序处理。默认为关闭。如果您启用它,则 Java 会将传入的数据反序列化 Java 请求,这可能会成为潜在的安全风险。

false

布尔值

cookieHandler (producer)

配置 Cookie 处理程序,以维护 HTTP 会话

 

CookieHandler

okStatusCodeRange (producer)

被视为成功响应的状态代码。值包含。可以定义多个范围,用逗号分开,例如 200-204,209,301-304。每个范围必须是单个数字,或从 到,其中包含短划线。

200-299

字符串

urlRewrite (producer)

弃用 引用自定义 org.apache.camel.component.http.UrlRewrite,它允许您在 bridge/proxy 端点时重写 url。更多信息,请访问 http://camel.apache.org/urlrewrite.html

 

UrlRewrite

ClientBuilder (advanced)

提供对此端点的生产者或消费者使用的新 RequestConfig 实例上使用的 http 客户端请求参数的访问权限。

 

HttpClientBuilder

clientConnectionManager (advanced)

使用自定义 HttpClientConnectionManager 管理连接

 

HttpClientConnection Manager

connectionsPerRoute (advanced)

每个路由的最大连接数。

20

int

httpclient ( advanced)

设置一个由制作者使用的自定义 HttpClient

 

HttpClient

httpClientConfigurer (advanced)

为生成者或消费者创建的新 HttpClient 实例注册自定义配置策略,如配置身份验证机制等

 

HttpClientConfigurer

httpClientOptions (advanced)

使用映射中的键/值配置 HttpClient:

 

Map

httpContext (advanced)

使用自定义 HttpContext 实例

 

HttpContext

mapHttpMessageBody (advanced)

如果此选项为 true,则交换的 IN Exchange Body 将映射到 HTTP 正文。把它设置为 false 可以避免 HTTP 映射。

true

布尔值

mapHttpMessageFormUrl EncodedBody (advanced)

如果此选项为 true,则交换的 IN Exchange Form Encoded body 将映射到 HTTP。把它设置为 false 可以避免 HTTP Form Encoded body 映射。

true

布尔值

mapHttpMessageHeaders (advanced)

如果此选项为 true,则交换的 IN Exchange Headers 将映射到 HTTP 标头。把它设置为 false 将避免 HTTP 标头映射。

true

布尔值

maxTotalConnections (advanced)

连接的最大数量。

200

int

同步 (高级)

设置是否应严格使用同步处理,还是允许 Camel 使用异步处理(如果支持)。

false

布尔值

useSystemProperties (advanced)

使用系统属性作为配置的回退

false

布尔值

proxyAuthDomain (proxy)

与 NTML 搭配使用的代理身份验证域

 

字符串

proxyAuthHost (proxy)

代理身份验证主机

 

字符串

proxyAuthMethod (proxy)

要使用的代理验证方法

 

字符串

proxyAuthPassword (proxy)

代理身份验证密码

 

字符串

proxyAuthPort (proxy)

代理身份验证端口

 

int

proxyAuthScheme (proxy)

要使用的代理身份验证方案

 

字符串

proxyAuthUsername (proxy)

代理身份验证用户名

 

字符串

proxyHost (proxy)

要使用的代理主机名

 

字符串

proxyPort (proxy)

要使用的代理端口

 

int

authDomain (security)

与 NTML 搭配使用的身份验证域

 

字符串

authHost (security)

与 NTML 搭配使用的身份验证主机

 

字符串

authmethod ( security)

允许将 身份验证方法用作以逗号分开的值列表,即 Basic、Digest 或 NTLM。

 

字符串

authMethodPriority (security)

要优先使用哪个验证方法,可以是 Basic、Digest 或 NTLM。

 

字符串

authPassword (security)

身份验证密码

 

字符串

authUsername (security)

身份验证用户名

 

字符串

sslContextParameters (security)

使用 SSLContextParameters 配置安全性。重要: 每个 HttpComponent 支持 org.apache.camel.util.jsse.SSLContextParameters 的一个实例。如果您需要使用 2 个或更多不同的实例,您需要为每个实例定义一个新的 HttpComponent。

 

SSLContextParameters

x509HostnameVerifier (security)

使用自定义 X509HostnameVerifier,如 DefaultHostnameVerifier 或 org.apache.http.conn.ssl.NoopHostnameVerifier。

 

HostnameVerifier

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.