Skip to content

Commit

Permalink
Deprecate io.quarkiverse.cxf:quarkus-cxf-rt-transports-http-hc5, fix #…
Browse files Browse the repository at this point in the history
  • Loading branch information
ppalaga committed Feb 6, 2025
1 parent f5ebd3f commit 9468def
Show file tree
Hide file tree
Showing 7 changed files with 62 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,15 @@
:cq-artifact-id: quarkus-cxf-rt-transports-http-hc5
:cq-group-id: io.quarkiverse.cxf
:cq-status: Stable
:cq-deprecated: false
:cq-deprecated: true
:cq-since: 1.1.0

ifeval::[{doc-show-badges} == true]
Stable • Since 1.1.0
Stable • Since 1.1.0 • ⚠️Deprecated
endif::[]

*Deprecated since {quarkus-cxf-project-name} 3.19.0, scheduled for removal in 3.21.0*

Implement async SOAP Clients using Apache HttpComponents HttpClient 5.


Expand Down
3 changes: 2 additions & 1 deletion docs/modules/ROOT/pages/reference/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
The following table shows the {quarkus-cxf-project-name} extensions.
Click the extension names to learn more about how to configure and use them, and about any known limitations.

[cols="4,1,1,4"]
[cols="5,2,1,5"]
|===
| Quarkus CXF extension | Support level | Since | Supported standards
// standards: START
Expand Down Expand Up @@ -51,6 +51,7 @@ Click the extension names to learn more about how to configure and use them, and
| xref:reference/extensions/quarkus-cxf-rt-transports-http-hc5.adoc[Quarkus CXF HTTP Async Transport] +
`quarkus-cxf-rt-transports-http-hc5`
|Stable
⚠️Deprecated
|1.1.0
|

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
[[async-client]]
= Asynchronous client

== Synchronous vs. asynchronous

Before {quarkus-cxf-project-name} 3.17.0, CXF clients based on `VertxHttpClientHTTPConduit` could only be called synchronously:

[source,java]
----
@CXFClient("hello")
HelloService hello;
String callHello() {
// Synchronous CXF client call
hello.hello("Joe");
}
----

{quarkus-cxf-project-name} 3.17.0 introduces the asynchronous mode for `VertxHttpClientHTTPConduit`-based clients:

[source,java]
----
import io.smallrye.mutiny.Uni;
@CXFClient("hello")
HelloService hello;
Uni<String> callHelloAsync() {
return Uni.createFrom()
// Asynchronous CXF client call returning java.util.concurrent.Future
.future(hello.helloAsync("Joe"))
.map(HelloResponse::getReturn);
}
----

This works much like with the existing `xref:reference/extensions/quarkus-cxf-rt-transports-http-hc5.adoc[Apache HttpClient 5 Async HTTP Transport]`.
The main difference is that you do not need to add the `io.quarkiverse.cxf:quarkus-cxf-rt-transports-http-hc5` dependency to your application anymore.

You still need to
xref:reference/extensions/quarkus-cxf-rt-transports-http-hc5.adoc#extensions-quarkus-cxf-rt-transports-http-hc5-usage-generate-async-methods[generate the async methods]
using the embedded `wsdl2java` tool.

We plan to https://github.com/quarkiverse/quarkus-cxf/issues/1619[add a new documentation page] dedicated to this topic.

We plan to deprecate `io.quarkiverse.cxf:quarkus-cxf-rt-transports-http-hc5` once the asynchronous mode of `VertxHttpClientHTTPConduit` passes some battle testing.
1 change: 1 addition & 0 deletions extensions/transports-http-hc5/runtime/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

<properties>
<cq.since>1.1.0</cq.since>
<quarkus.metadata.deprecated>true</quarkus.metadata.deprecated>
</properties>

<dependencies>
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
Implement async SOAP Clients using Apache HttpComponents HttpClient 5.
[IMPORTANT]
====
This extension is deprecated since {quarkus-cxf-project-name} 3.19.0 and is scheduled for removal in 3.21.0.
Use
====

Implement async SOAP Clients using Apache HttpComponents HttpClient 5.
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@ metadata:
categories:
- "integration"
guide: "https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/dev/reference/extensions/quarkus-cxf-rt-transports-http-hc5.html"
status: "deprecated"
unlisted: true
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@

<supported-maven.versions>[3.6.2,)</supported-maven.versions>

<cq-maven-plugin.version>4.16.1</cq-maven-plugin.version>
<cq-maven-plugin.version>4.16.2-SNAPSHOT</cq-maven-plugin.version>
<exec-maven-plugin.version>3.5.0</exec-maven-plugin.version>
<groovy-maven-plugin.version>2.1.1</groovy-maven-plugin.version>
<groovy.version>3.0.23</groovy.version>
Expand Down

0 comments on commit 9468def

Please sign in to comment.