4.2. AHC-WS 选项
因为 AHC-WS 组件基于 AHC 组件,因此您可以使用 AHC 组件的各种配置选项。
AHC Websocket 组件支持 8 个选项,如下所列。
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
客户端 (advanced) | 使用自定义 AsyncHttpClient | AsyncHttpClient | |
绑定 (advanced) | 使用自定义 AhcBinding,允许控制如何在 AHC 和 Camel 间绑定。 | AhcBinding | |
clientConfig (advanced) | 将 AsyncHttpClient 配置为使用自定义 com.ning.http.client.AsyncHttpClientConfig 实例。 | AsyncHttpClientConfig | |
sslContextParameters (security) | 对 Registry 中的 org.apache.camel.util.jsse.SSLContextParameters 的引用。请注意,配置这个选项将覆盖端点或组件级别的 clientConfig 选项提供的任何 SSL/TLS 配置选项。 | SSLContextParameters | |
允许JavaSerialized Object (advanced) | 当请求使用 context-type=application/x-java-serialized-object This 默认为 off 时允许 java serialization。如果您启用它,则 Java 会将传入的数据反序列化 Java 请求,这可能会成为潜在的安全风险。 | false | 布尔值 |
useGlobalSslContext 参数 (security) | 启用使用全局 SSL 上下文参数。 | false | 布尔值 |
headerFilterStrategy (filter) | 使用自定义 org.apache.camel.spi.HeaderFilterStrategy 过滤到 Camel 消息的标头。 | HeaderFilterStrategy | |
resolveProperty Placeholders (advanced) | 组件是否应在启动时解析属性占位符。只有 String 类型的属性可以使用属性占位符。 | true | 布尔值 |
AHC Websocket 端点使用 URI 语法进行配置:
ahc-ws:httpUri
使用以下路径和查询参数:
4.2.1. 路径参数(1 参数):
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
httpUri | 必需 要使用的 URI,如 http://hostname:port/path | URI |
4.2.2. 查询参数(18 参数):
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
bridgeEndpoint (common) | 如果选项为 true,则忽略 Exchange.HTTP_URI 标头,并使用端点的 URI 进行请求。您还可以将 throwExceptionOnFailure 设置为 false,以便 AhcProducer 发送所有错误响应。 | false | 布尔值 |
bufferSize (common) | 在 Camel 和 AHC 客户端之间传输数据时使用的初始内存缓冲区大小。 | 4096 | int |
headerFilterStrategy (common) | 使用自定义 HeaderFilterStrategy 过滤到 Camel 消息的标头。 | HeaderFilterStrategy | |
throwExceptionOnFailure (common) | 如果来自远程服务器的失败响应,用于禁用抛出 AhcOperationFailedException。这样,您可以获取所有响应,而不考虑 HTTP 状态代码。 | true | 布尔值 |
transferException (common) | 如果在消费者端启用并交换失败处理,如果原因 Exception 在响应中作为 application/x-java-serialized-object 内容类型发送序列化,例如使用 Jetty 或 Servlet Camel 组件。在生成者端,异常将被反序列化并抛出,而不是 AhcOperationFailedException。原因异常需要按顺序处理。默认为关闭。如果您启用它,则 Java 会将传入的数据反序列化 Java 请求,这可能会成为潜在的安全风险。 | false | 布尔值 |
bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
sendMessageOnError (consumer) | 如果 web-socket 侦听器收到错误,是否发送一条消息。 | false | 布尔值 |
ExceptionHandler ( consumer) | 要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不使用。默认情况下,消费者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。 | ExceptionHandler | |
exchangePattern (consumer) | 在消费者创建交换时设置交换模式。 | ExchangePattern | |
connectionClose (producer) | 定义 Connection Close 标头是否已添加到 HTTP Request 中。默认情况下,此参数为 false | false | 布尔值 |
cookieHandler (producer) | 配置 Cookie 处理程序,以维护 HTTP 会话 | CookieHandler | |
useStreaming (producer) | 启用流,以作为多个文本片段发送数据。 | false | 布尔值 |
绑定 (advanced) | 使用自定义 AhcBinding,允许控制如何在 AHC 和 Camel 间绑定。 | AhcBinding | |
clientConfig (advanced) | 将 AsyncHttpClient 配置为使用自定义 com.ning.http.client.AsyncHttpClientConfig 实例。 | AsyncHttpClientConfig | |
clientConfigOptions (advanced) | 使用映射中的键/值配置 AsyncHttpClientConfig。 | Map | |
同步 (高级) | 设置是否应严格使用同步处理,还是允许 Camel 使用异步处理(如果支持)。 | false | 布尔值 |
clientConfigRealmOptions (security) | 使用映射中的键/值配置 AsyncHttpClientConfig Realm。 | Map | |
sslContextParameters (security) | 对 Registry 中的 org.apache.camel.util.jsse.SSLContextParameters 的引用。此引用覆盖组件级别上配置的 SSLContextParameters。请参阅使用 JSSE 配置实用程序。请注意,配置这个选项将覆盖端点或组件级别的 clientConfig 选项提供的任何 SSL/TLS 配置选项。 | SSLContextParameters |