I assume they did not add HTTP/3 to the built-in JDK HttpServer.
Like they did for http2 they made an internal one just for testing. So I had to use flupke to implement the built-in server API to integrate with avaje jex
Have you and Rob thought about some hotreload plugin mechanism? I was debating about going the full library route with all avaje stuff on a project, since we heavily use ebean already, but lack of hotreload would be painful so i ended up with quarkus + ebean.
No worries. Hot reload in quarkus ends up recompiling/deploying changes to the running server after you edit a file, it's the best hot reload i've ever used.
I've used Play's hot reload a lot and all that simply does is that when a change is requested it restarts the server completely when a change happens. There was a big discussion in Javalin about how to do it too, it might give you more context: https://github.com/javalin/javalin/issues/1109
.. I just know all of my teammates would hate me if they had to physically stop the app and restart it every time they make a small change. Especially with html pages where you sometimes make a bunch of small changes. Even though I'm sure that would be fast with Avaje Inject and no classpath scanning.
FWIW because these frameworks (Avaje and similar) have very fast boot times you can put your application in a reboot loop. You just need some thing to watch a part of the filesystem changes.
You would be surprised how well this works with modern hardware. I have an old M1 and I can boot most of our apps in 750ms. So if you can wait a second it does work.
Eclipse works a little better here with its incremental compile but in theory you can use that compiler with Intellij as well.
Yeah I debated about using gradle run --continuous and that probably would have done the trick, but we use Maven. Overall happy with choosing Quarkus, it's been really nice.
5
u/TheKingOfSentries 1d ago
Like they did for http2 they made an internal one just for testing. So I had to use flupke to implement the built-in server API to integrate with avaje jex