151.2. Http4 Component Options


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

名称描述默认值类型

httpClientConfigurer (advanced)

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

 

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 Parameters (security)

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

false

布尔值

x509HostnameVerifier (security)

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

 

HostnameVerifier

maxTotalConnections (advanced)

连接的最大数量。

200

int

connectionsPerRoute (advanced)

每个路由的最大连接数。

20

int

connectionTimeToLive (advanced)

与实时连接的时间,时间单位为 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)

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

-1

int

connectTimeout (timeout)

决定连接建立前的超时时间(毫秒)。超时值为零被解释为无限超时。超时值为零被解释为无限超时。负值解释为未定义(系统默认值)。默认:代码 -1

-1

int

socketTimeout (timeout)

以毫秒为单位定义套接字超时(SO_TIMEOUT),这是等待数据的超时时间,或者不同,在两个连续数据数据包之间处于不活跃的时间。超时值为零被解释为无限超时。负值解释为未定义(系统默认值)。默认:代码 -1

-1

int

httpBinding (advanced)

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

 

HttpBinding

httpConfiguration (advanced)

将共享的 HttpConfiguration 用作基础配置。

 

HttpConfiguration

allowJavaSerialized Object (advanced)

当请求使用 context-type=application/x-java-serialized-object 时,是否允许 java 序列化。默认情况下是关闭的。如果启用此选项,则 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 参数):

名称描述默认值类型

httpUri

必需 要调用的 HTTP 端点的 url。

 

URI

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

名称描述默认值类型

disableStreamCache (common)

确定来自 Servlet 的原始输入流是否被缓存(Camel 会将流读取到内存/流到文件、流缓存)缓存。默认情况下,Camel 将缓存 Servlet 输入流来支持多次读取它,以确保 Camel 可以从流检索所有数据。但是,当您需要访问原始流时,您可以将这个选项设置为 true,比如将其直接流传输到文件或其他持久性存储。DefaultHttpBinding 会将请求输入流复制到流缓存中,如果此选项为 false,则将其放入消息正文,以支持多次读取流。如果您使用 Servlet 桥接/代理,则考虑启用这个选项以提高性能,以防您不需要多次读取消息有效负载。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 来保持增长,这些 Cookie 在其过期时会被删除。

true

布尔值

connectionClose (producer)

指定是否需要将 Connection Close 标头添加到 HTTP 请求。默认情况下,connectionClose 为 false。

false

布尔值

cookieStore (producer)

使用自定义 CookieStore。默认情况下,使用 BasicCookieStore,它是一个仅内存 Cookie 存储。请注意,如果 bridgeEndpoint=true,则 Cookie 存储被强制为 noop cookie 存储,因为 Cookie 不应存储,因为我们只是桥接(如代理)。如果设置了 CookieHandler,则 Cookie 存储也强制作为 Cookie 处理的 noop 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 标头设置为当前交换主机标头中包含的值,用于您希望下游服务器接收的主机标头来反映上游客户端调用的 URL,这将允许使用 Host 标头为代理服务生成准确的 URL。

false

布尔值

throwExceptionOnFailure (producer)

如果远程服务器失败响应,禁用禁用 HttpOperationFailedException 的选项。这样,无论 HTTP 状态代码是什么,您都可以获得所有响应。

true

布尔值

transferException (producer)

如果在消费者端启用并且 Exchange 失败,如果导致的 Exception 被发送序列化为 application/x-java-serialized-object 内容类型。在生成者一侧,异常将被反序列化和抛出,而不是 HttpOperationFailedException。导致异常需要被序列化。默认情况下是关闭的。如果启用此选项,则 Java 会将传入数据从请求反序列化到 Java,这可能会成为潜在的安全风险。

false

布尔值

cookieHandler (producer)

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

 

CookieHandler

okStatusCodeRange (producer)

被视为成功响应的状态代码。这些值包含为。可以定义多个范围,用逗号分开,如 200-204,209,301-304。每个范围都必须是一个数字或 from-to,包括横线。

200-299

字符串

urlRewrite (producer)

弃用 引用一个自定义 org.apache.camel.component.http.UrlRewrite,允许您在桥接/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)

若要利用 map 中的键/值来配置 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

同步 (advanced)

设置是否应严格使用同步处理,或者 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.