Quarkus CXF 3.19.0 release notes
Important dependency upgrades
-
Quarkus 3.18.x → 3.19.0 - release notes
New features
#1680 Introduce quarkus.cxf.client.tls-configuration-name
to set TLS options for all CXF clients
Before Quarkus CXF 3.19.0, it was only possible to configure trust stores and key stores per CXF client via
quarkus.cxf.client."client-name".tls-configuration-name
or (now deprecated)
quarkus.cxf.client."client-name".key-store*
and
quarkus.cxf.client."client-name".trust-store*
options.
The configuration might have got too verbose in case there were multiple clients.
Since Quarkus CXF 3.19.0, it is possible to set the trust stores and key stores for all clients using the
quarkus.cxf.client.tls-configuration-name
option.
Known issues
quarkus#46368 javax.net.ssl
TLS configuration does not work in native mode
This issue exists in io.quarkus:quarkus-tls-registry
3.19.0 and will be fixed in version 3.19.1 due on Wednesday Feb. 26, 2025.
With Quarkus CXF 3.19.0, all CXF clients in native mode are impacted
which rely on the default value javax.net.ssl
of configuration property
quarkus.cxf.client.tls-configuration-name
.
There are several options to workaround the issue:
-
Start the native executable with
-Djavax.net.ssl.trustStore=$JAVA_HOME/lib/security/cacerts -Djavax.net.ssl.trustStorePassword=changeit
-
Set a custom trust store on
quarkus.cxf.client.tls-configuration-name
:application.propertiesquarkus.tls.localCacertsFile.trust-store.p12.path = ${JAVA_HOME}/lib/security/cacerts quarkus.tls.localCacertsFile.trust-store.p12.password = changeit quarkus.cxf.client.tls-configuration-name = localCacertsFile
Bugfixes
#1697 Native build fails when using quarkus-cxf-integration-tracing-opentelemetry
and quarkus-jdbc-oracle
Before Quarkus CXF 3.19.0, combining quarkus-jdbc-oracle
with quarkus-cxf-integration-tracing-opentelemetry
or quarkus-cxf-rt-ws-rm
in a single application resulted in an error during the build of native image as follows:
org.graalvm.compiler.debug.GraalError: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException:
Detected a MBean server in the image heap. This is currently not supported, but could be changed in the future.
Management beans are registered in many global caches that would need to be cleared and properly re-built at image build time.
Class of disallowed object: com.sun.jmx.mbeanserver.JmxMBeanServer
We have fixed this in Quarkus CXF 3.19.0, but note that JMX features are not supported in native mode.
Deprecations
#1632 io.quarkiverse.cxf:quarkus-cxf-rt-transports-http-hc5
deprecated
The io.quarkiverse.cxf:quarkus-cxf-rt-transports-http-hc5
extension is deprecated since Quarkus CXF 3.19.0
and it is scheduled for removal in 3.21.0.
Use the asynchronous mode of VertxHttpClientHTTPConduit
instead.
This is a part of our efforts to support only a single HTTP Conduit based on Vert.x HttpClient in the future.
We deprecated the HttpClientHTTPConduitFactory
value of
quarkus.cxf.http-conduit-factory
and quarkus.cxf.client."client-name".http-conduit-factory
for the same reason in the
previous release.
Documentation improvements
-
Add Declarative vs. programmatic configuration section
-
Do not mention the deprecated
quarkus-cxf-rt-features-logging
extension in the First SOAP service guide -
Explain
*.logging.enabled = pretty
and use it in examples -
Document the Asynchronous client properly