4.2. AHC-WS 选项
因为 AHC-WS 组件基于 AHC 组件,您可以使用 AHC 组件的各种配置选项。
AHC Websocket 组件支持 8 个选项,如下所列。
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
client (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 | |
allowJavaSerialized Object (advanced) | 当请求使用 context-type=application/x-java-serialized-object This is default off 时,是否允许 java 序列化。如果启用此选项,则 Java 会将传入数据从请求反序列化到 Java,这可能会成为潜在的安全风险。 | false | 布尔值 |
useGlobalSslContext Parameters (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 参数):
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
httpUri | 必需 要使用的 URI,如 http://hostname:port/path | URI |
4.2.2. 查询参数(18 参数):
名称 | 描述 | 默认值 | 类型 |
---|---|---|---|
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) | 如果在消费者端启用并且 Exchange 失败,如果导致的 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 请求。这个参数默认为 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) | 使用 Map 中的键/值配置 AsyncHttpClientConfig: | Map | |
同步 (advanced) | 设置是否应严格使用同步处理,或者 Camel 允许使用异步处理(如果受支持)。 | false | 布尔值 |
clientConfigRealmOptions (security) | 若要利用 map 中的键/值来配置 AsyncHttpClientConfig Realm。 | Map | |
sslContextParameters (security) | 对 Registry 中的 org.apache.camel.util.jsse.SSLContextParameters 的引用。此引用覆盖组件级别上配置的任何 SSLContextParameters。请参阅使用 JSSE 配置工具。请注意,配置这个选项将覆盖通过端点或组件级别的 clientConfig 选项提供的任何 SSL/TLS 配置选项。 | SSLContextParameters |