1.6. 已知的 CXF 问题
这个版本还有 CXF 的问题。
1.6.1. 支持的扩展 复制链接链接已复制到粘贴板!
目前,只支持 这些 quarkus-cxf 扩展:
隐式,作为 camel-quarkus-cxf-soap 的传输依赖项:
-
quarkus-cxf -
quarkus-cxf-rt-features-logging
另外,如果您需要 WS-Security 或其他相关功能,您可以添加以下支持的扩展:
-
quarkus-cxf-rt-ws-security -
quarkus-cxf-services-sts -
quarkus-cxf-xjc-plugins
1.6.1.1. WS-ReliableMessaging 复制链接链接已复制到粘贴板!
对 CXF WS-ReliableMessaging 当前还不支持,它仍然在版本 3.2 中处于技术预览阶段。
1.6.2. 使用 java.net.http.HttpClient的 CXF 客户端可能的 DoS 向量 复制链接链接已复制到粘贴板!
如果您的 CXF 客户端使用 java.net.http.HttpClient 作为底层 HTTP 客户端,那么如果创建了许多客户端,应用可能会崩溃,因为线程不会终止。https://issues.apache.org/jira/browse/CXF-8885
当重复创建 CXF 客户端时,这个问题会出现在 java.net.http.HttpClient 中,例如每个请求。如果您在应用的整个生命周期内保持客户端,则不会出现这个问题。
从 Apache Camel for Quarkus 3.2.0 和 Quarkus CXF 2.2.3 开始,某些特定 CXF 客户端的 HTTP 客户端实现选择通过 quarkus.cxf.client.yourClient.http-conduit-factory 属性控制。默认情况下,由 Quarkus CXF 创建的 CXF 客户端使用 java.net.HttpURLConnection 作为 HTTP 客户端,因此默认不会出现这个问题。如果您设置了 quarkus.cxf.client.yourClient.http-conduit-factory=HttpClientHTTPConduitFactory,则可能会出现此问题。
1.6.2.1. DoS 向量的缓解方案 复制链接链接已复制到粘贴板!
-
如果您绝对确保客户端仅在应用的生命周期内创建一次,则只使用
java.net.http.HttpClient支持的 CXF 客户端。 -
使用由不同 HTTP 客户端实现(如 HC5 或
java.net.HttpURLConnection)支持的 CXF 客户端。