-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Development mode hot-reload for non-REST scenarios #20809
Comments
You can just press 's' in the window to restart the application now. You can also call |
@stuartwdouglas nice, thanks! For some reason I couldn't and still cannot find reference to this in the documentation. After testing it a bit, I found that under Intellij I have to send 's' for a single time when running a project with a REST endpoint but when removing all endpoints from it, the 's' has to be sent in twice after each change as the first will not do anything even if left there for minutes.
|
Do you have a reproducer? I can't replicate that. Also what environment are you on? I have seen issues like that on Windows before but I thought they were all fixed now. |
Here are my env's details:
And here is the reproducer, but is just an empty, freshly generated project with a reactive RESTEasy dependency. It consistently reproduces the same behaviour for me. |
Works perfectly for me on Fedora. If there is a problem I would suspect this bit of code here: https://github.com/stuartwdouglas/quarkus/blob/afaca21cc49064a78f79ce14345681065faf9e46/devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java#L445 If you have a chance and some free time you could delete that bit, build Quarkus, and see if the problem still exists. This code is responsible for resetting the terminal state if the Quarkus application gets killed, so it is not super important (but the terminal will be left in raw mode if you kill -9 the Quarkus app). |
I've replaced the whole nested try-catch with a log and tried to build it a few times but all of them have failed.
It seems like it still tries to run the tests for this module for some reason:
|
You need to use |
Well the build has been going on for more than 2 hours now (running on a relatively strong build machine with an AMD Ryzen 7 4800H + 32GB of RAM and NVMe ssd). Do you have to go through all this to test every single iteration? If not I would appreciate any directions on how you do it normally :) |
2h? Is it just downloading dependencies over a slow connection? I build in ~1 minute using: |
On the build: On the original issue: |
Yes please. |
Description
Currently Quarkus devmode expects applications to use a limited set of libraries (RESTEasy, SR Reactive Messaging) to work efficiently and have a much faster feedback loop.
But for services that are not using them, and for working on tasks where API calls are not involved, eg. with custom messaging queue implementations or scheduled events, it means that the application needs to go through a complete restart for every change to be able to get feedback.
In these cases the significantly longer start times of devmode is not compensated by fast reloads as there is nothing to trigger them currently.
Implementation ideas
@HotReloadTrigger
that would flag the method to trigger a hot-reload when called.The text was updated successfully, but these errors were encountered: