22.21. Spring Boot Auto-Configuration
将 http 与 Spring Boot 搭配使用时,请确保使用以下 Maven 依赖项支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-http-starter</artifactId> <version>{CamelSBProjectVersion}</version> <!-- Use your Camel Spring Boot version --> </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 | 连接到 live 的时间,时间单位是 millisecond,默认值始终保持 active。 | 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 Exchange 标头复制到 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 来执行要使用的 HttpClientClient 的配置。选项是 org.apache.camel.component.http.HttpClientConfigurer 类型。 | HttpClientConfigurer | |
camel.component.http.http-configuration | 使用 shared 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 | 制作者是否应该启动 lazy(在第一个消息上)。通过启动 lazy,您可以使用它来允许 CamelContext 和路由在启动期间启动,否则在启动期间出现问题,并导致路由启动失败。通过将这个启动延迟到 lazy 后,可以在通过 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 的代理身份验证域(workstation 名称)。 | 字符串 | |
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 始终使用 streaming 模式。 | 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 | 使用 SSLContextParameters 配置安全性。重要: 每个 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 |