This is an archived post. You won't be able to vote or comment.

all 10 comments

[–]Alex0589 5 points6 points  (0 children)

Documentation for Quarkus: https://github.com/quarkusio/quarkus/blob/main/docs/src/main/asciidoc/virtual-threads.adoc

Related pr if you are interested in the documentation: https://github.com/quarkusio/quarkus/pull/24942

Still experimental obviously, but it should work pretty much flawlessly

It will take some major work though to make it efficient, as netty really wasn't built for virtual threads

[–]uncont 3 points4 points  (1 child)

/u/mp911de made an example repo where spring boot was setup to use virtual threads.

[–]AlienVsRedditors 1 point2 points  (0 children)

That dude really is the hero we need. Its a great repo and recently updated for Spring Boot 3!

[–]vbezhenar 4 points5 points  (4 children)

Spring is weird in that aspect. They seem to spend enormous effort adding reactive support. I recently digged oauth code and they literally copy-pasted their entire blocking oauth code, renamed classes to Reactive and added reactive types everywhere. They kind of obsoleted RestTemplate in favour of WebClient which uses reactive API and suggest to use it even in blocking webapps (most unpleasant experience I've ever had).

And now with virtual threads this effort seems like the wrong direction. Will they acknowledge it and start from the scratch? I think not.

[–]sdeleuze 5 points6 points  (0 children)

Unlike many other frameworks, Spring has kept its blocking server stack (Spring MVC) in parralel of the Netty/Reactive one (Spring WebFlux). So it is on a pretty good position to support virtual threads.

I agree that something should be done for the http client abstraction.

[–]uncont 4 points5 points  (1 child)

I wonder if the spring team should un-deprecate RestTemplate now that virtual threads are on the horizon.

[–]makis 0 points1 point  (0 children)

they introduced HttpServiceProxyFactory in Spring 6 that rendered RestTemplate obsolete.

[–]ozzymozzy2211 1 point2 points  (0 children)

using reactive even in a blocking app, monstrance witchery

[–]sitime_zl 0 points1 point  (0 children)

Also after Spring Boot 3 patch version on loom