[ 
https://issues.apache.org/jira/browse/MRESOLVER-308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17649777#comment-17649777
 ] 

Tamas Cservenak edited comment on MRESOLVER-308 at 12/20/22 3:49 PM:
---------------------------------------------------------------------

Plan: create multi release JAR for maven-resolver-transport-java11, that is:
 * on Java8 is doermant
 * on Java11+ becomes default (instead of "native")

*Update:* This is *DONE* on branch: just build it (skip tests for now, some red 
herrings still not ironed out), and you will end up with java11 transport JAR 
that can be thrown into lib or lib/ext (does not matter). And from that moment 
on, if Maven used on Java8, everything is as today, but if on Java11+ the new 
transport becomes default.


was (Author: cstamas):
Plan: create multi release JAR for maven-resolver-transport-java11, that is:
 * on Java8 is doermant
 * on Java11+ becomes default (instead of "native")

*Update:* This is *DONE* on branch: just build it (skip tests for now, some red 
herrings still not ironed out), and you will end up with java11 transport JAR 
that can be thrown into lib or lib/etc (does not matter). And from that moment 
on, if Maven used on Java8, everything is as today, but if on Java11+ the new 
transport becomes default.

> HTTP transport showdown
> -----------------------
>
>                 Key: MRESOLVER-308
>                 URL: https://issues.apache.org/jira/browse/MRESOLVER-308
>             Project: Maven Resolver
>          Issue Type: Task
>          Components: Resolver
>            Reporter: Tamas Cservenak
>            Priority: Major
>
> For HTTP protocol resolver currently provides following transports:
>  * transport-wagon that uses Maven 2.x Wagon, that among other protocols 
> supports HTTP/1.1 as well
>  * transport-http that uses directly Apache HttpClient 4.x supporting 
> HTTP/1.1 but provides enhancements in form of "checksum strategy" (almost all 
> of remote repositories emit those in headers, sparing one HTTP round-trip)
> As we saw, is very easy to outperform these as:
>  * Maven Central supports HTTP/1.1 but also HTTP/2
>  * HTTP/3 is on the way as well
> An experiment involving Jetty Client far outperformed both of existing 
> transports, most probably due HTTP/2 support.
> So, clients we should consider:
>  * Jetty Client
>  * OkHTTP
>  * Java 11 HttpClient
> Point is, to invest into something that (ideally) transparently supports 
> HTTP/1.1 and HTTP/2, and more ideal would be if even HTTP/3 would be 
> transparently supported (Jetty 12 works on that). We could then simply 
> compare these implementations, count in pros and cons, and decide where we 
> want to go,



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to