28.21. Spring Boot Auto-Configuration
当在 Spring Boot 中使用 http 时,请确保使用以下 Maven 依赖项来支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-http-starter</artifactId> </dependency>
组件支持 38 选项,如下所列。
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
camel.component.http.allow-java-serialized-object | 当请求使用 context-type=application/x-java-serialized-object 时,是否允许 java 序列化。默认情况下关闭。如果您启用此功能,则 Java 会将传入的数据从请求反序列化到 Java,这可能会存在潜在的安全风险。 | false | 布尔值 |
camel.component.http.auth-caching-disabled | 禁用身份验证方案缓存。 | false | 布尔值 |
camel.component.http.automatic-retries-disabled | 禁用自动请求恢复和重新执行。 | false | 布尔值 |
camel.component.http.autowired-enabled | 是否启用自动关闭。这用于自动关闭选项(选项必须标记为 autowired),方法是在 registry 中查找查找是否有单个匹配类型实例,然后在组件上配置。这可以用于自动配置 JDBC 数据源、JMS 连接工厂、AWS 客户端等。 | true | 布尔值 |
camel.component.http.client-connection-manager | 使用自定义和共享 HttpClientConnectionManager 来管理连接。如果已经进行了配置,则这总是用于此组件创建的所有端点。选项是 org.apache.http.conn.HttpClientConnectionManager 类型。 | HttpClientConnectionManager | |
camel.component.http.connect-timeout | 决定连接建立前的超时时间(毫秒)。超时值为零被解释为无限超时。超时值为零被解释为无限超时。负值被解释为未定义(系统默认值)。 | -1 | 整数 |
camel.component.http.connection-request-timeout | 从连接管理器请求连接时使用的超时时间(毫秒)。超时值为零被解释为无限超时。超时值为零被解释为无限超时。负值被解释为未定义(系统默认值)。 | -1 | 整数 |
camel.component.http.connection-state-disabled | 禁用连接状态跟踪。 | false | 布尔值 |
camel.component.http.connection-time-to-live | 连接实时的时间(时间单位为毫秒),默认值始终保持处于活动状态。 | Long | |
camel.component.http.connections-per-route | 每个路由的最大连接数。 | 20 | 整数 |
camel.component.http.content-compression-disabled | 禁用自动内容解压缩。 | false | 布尔值 |
camel.component.http.cookie-management-disabled | 禁用状态(cookie)管理。 | false | 布尔值 |
camel.component.http.cookie-store | 使用自定义 org.apache.http.client.CookieStore。默认情况下,使用 org.apache.http.impl.client.BasicCookieStore,这是仅内存的 Cookie 存储。请注意,如果 bridgeEndpoint=true,则 Cookie 存储被强制成为 noop cookie 存储,因为 Cookie 不应存储,因为我们只是桥接(例如作为代理)。选项是 org.apache.http.client.CookieStore 类型。 | CookieStore | |
camel.component.http.copy-headers | 如果此选项为 true,则 IN 交换标头将根据复制策略复制到 OUT 交换标头中。把它设置为 false,允许仅包含 HTTP 响应中的标头(不传播 IN 标头)。 | true | 布尔值 |
camel.component.http.default-user-agent-disabled | 如果用户未提供,则禁用此构建器设置的默认用户代理。 | false | 布尔值 |
camel.component.http.enabled | 是否启用 http 组件的自动配置。这默认是启用的。 | 布尔值 | |
camel.component.http.header-filter-strategy | 使用自定义 org.apache.camel.spi.HeaderFilterStrategy 将标头过滤到或从 Camel 消息过滤。选项是一个 org.apache.camel.spi.HeaderFilterStrategy 类型。 | HeaderFilterStrategy | |
camel.component.http.http-binding | 使用自定义 HttpBinding 控制 Camel 消息和 HttpClient 之间的映射。选项是 org.apache.camel.http.common.HttpBinding 类型。 | HttpBinding | |
camel.component.http.http-client-configurer | 使用自定义 HttpClientConfigurer 执行要使用的 HttpClientConfigurer 的配置。选项是 org.apache.camel.component.http.HttpClientConfigurer 类型。 | HttpClientConfigurer | |
camel.component.http.http-configuration | 使用共享 HttpConfiguration 作为基础配置。选项是 org.apache.camel.http.common.HttpConfiguration 类型。 | HttpConfiguration | |
camel.component.http.http-context | 在执行请求时使用自定义 org.apache.http.protocol.HttpContext。选项是一个 org.apache.http.protocol.HttpContext 类型。 | HttpContext | |
camel.component.http.lazy-start-producer | 生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 Camel 的路由错误处理程序进行处理。请注意,在处理第一个消息时,创建并启动生成者可能需要稍等时间,并延长处理的总处理时间。 | false | 布尔值 |
camel.component.http.max-total-connections | 连接的最大数量。 | 200 | 整数 |
camel.component.http.proxy-auth-domain | 要使用的代理身份验证域。 | 字符串 | |
camel.component.http.proxy-auth-host | 代理身份验证主机。 | 字符串 | |
camel.component.http.proxy-auth-method | 要使用的代理验证方法。 | 字符串 | |
camel.component.http.proxy-auth-nt-host | 用于 NTML 的代理身份验证域(工作站名称)。 | 字符串 | |
camel.component.http.proxy-auth-password | 代理身份验证密码。 | 字符串 | |
camel.component.http.proxy-auth-port | 代理身份验证端口。 | 整数 | |
camel.component.http.proxy-auth-username | 代理身份验证用户名。 | 字符串 | |
camel.component.http.redirect-handling-disabled | 禁用自动重定向处理。 | false | 布尔值 |
camel.component.http.response-payload-streaming-threshold | 这种阈值(以字节为单位)控制响应有效负载是否应该以字节阵列形式存储在内存中,还是基于流。把它设置为 -1 以始终使用流模式。 | 8192 | 整数 |
camel.component.http.skip-request-headers | 是否跳过将所有 Camel 标头映射为 HTTP 请求标头。如果 HTTP 请求中没有来自 Camel 标头的数据,这可以避免为 JVM 垃圾收集器解析许多对象分配的开销。 | false | 布尔值 |
camel.component.http.skip-response-headers | 是否跳过将所有 HTTP 响应标头映射到 Camel 标头。如果没有 HTTP 标头需要的数据,这可以避免为 JVM 垃圾收集器解析许多对象分配的开销。 | false | 布尔值 |
camel.component.http.socket-timeout | 以毫秒为单位定义套接字超时,这是等待数据的超时时间,不同,在两个连续数据包之间有最长不活跃周期。超时值为零被解释为无限超时。负值被解释为未定义(系统默认值)。 | -1 | 整数 |
camel.component.http.ssl-context-parameters | 使用 SSLContext 参数配置安全性:重要: 每个 HttpComponent 仅支持一个 org.apache.camel.support.jsse.SSLContextParameters 的实例。如果您需要使用 2 个或更多不同的实例,则需要定义您需要的每个实例的新 HttpComponent。选项是 org.apache.camel.support.jsse.SSLContextParameters 类型。 | SSLContextParameters | |
camel.component.http.use-global-ssl-context-parameters | 启用使用全局 SSL 上下文参数。 | false | 布尔值 |
camel.component.http.x509-hostname-verifier | 使用自定义 X509HostnameVerifier,如 DefaultHostnameVerifier 或 NoopHostnameVerifier。选项是 javax.net.ssl.HostnameVerifier 类型。 | HostnameVerifier |