devmode - Not using JVM instrumentation, but always full restart
See original GitHub issueDescribe the bug
I read from @maxandersen that in 1.11+ devmode new ability to detect wether a change can be applied using JVM instrumentation (what ides uses to update running jvms) or it requires a restart as devmode usually do.
Expected behavior
Hot swap/reload applying JVM instrumentation, without a restart.
Actual behavior
There´s always a restart, see logs below:
12:38:28: Executing task 'quarkusDev'...
> Task :quarkusGenerateCode
preparing quarkus application
> Task :compileJava
> Task :processResources UP-TO-DATE
> Task :classes
> Task :quarkusDev
Listening for transport dt_socket at address: 5005
2021-03-22 12:38:35,557 INFO [io.quarkus] (Quarkus Main Thread) my-artifactId my-version on JVM (powered by Quarkus 1.12.2.Final) started in 3.008s. Listening on: http://localhost:8080
2021-03-22 12:38:35,561 INFO [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2021-03-22 12:38:35,562 INFO [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, resteasy, resteasy-jackson]
2021-03-22 12:38:51,100 INFO [io.qua.dep.dev.RuntimeUpdatesProcessor] (vert.x-worker-thread-1) Changed source files detected, recompiling [/Users/admin/dev/others/my-artifactId/src/main/java/org/my/group/MyResource.java]
2021-03-22 12:38:51,597 WARN [io.qua.dep.dev.JavaCompilationProvider] (vert.x-worker-thread-1) system modules path not set in conjunction with -source 11, line -1 in [unknown source]
2021-03-22 12:38:51,663 INFO [io.quarkus] (Quarkus Main Thread) my-artifactId stopped in 0.065s
2021-03-22 12:38:52,370 INFO [io.quarkus] (Quarkus Main Thread) my-artifactId my-version on JVM (powered by Quarkus 1.12.2.Final) started in 0.701s. Listening on: http://localhost:8080
2021-03-22 12:38:52,371 INFO [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2021-03-22 12:38:52,371 INFO [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, resteasy, resteasy-jackson]
2021-03-22 12:38:52,371 INFO [io.qua.dep.dev.RuntimeUpdatesProcessor] (vert.x-worker-thread-1) Hot replace total time: 1.273s
To Reproduce
- I´ve used directly the output of
mvn io.quarkus:quarkus-maven-plugin:1.12.2.Final:create \
-DprojectGroupId=my-groupId \
-DprojectArtifactId=my-artifactId \
-DprojectVersion=my-version \
-DclassName="org.my.group.MyResource" \
-Dextensions="resteasy,resteasy-jackson" \
-DbuildTool=gradle
Environment (please complete the following information):
Intellij IDEA community 2020.3 build 203.5981.155 (also from console directly) OS: Mac Quarkus 1.12.2
Output of java -version
java -version openjdk version “15” 2020-09-15 OpenJDK Runtime Environment (build 15+36-1562) OpenJDK 64-Bit Server VM (build 15+36-1562, mixed mode, sharing)
GraalVM version (if different from Java)
Not used
Quarkus version or git rev
1.12.2
Build tool (ie. output of mvnw --version
or gradlew --version
)
Gradle 6.8.3
Issue Analytics
- State:
- Created 3 years ago
- Comments:6 (6 by maintainers)
Top Results From Across the Web
Building applications with Maven - Quarkus
Whether Quarkus should enable its ability to not do a full restart when changes to classes are compatible with JVM instrumentation. If this...
Read more >7 Production Checklist - Oracle Help Center
10/11. 7 Production Checklist. This chapter provides a checklist of areas that should be planned for and considered before moving from a development ......
Read more >Quarkus 1.11 Introduces State Preserving Reload in ... - InfoQ
I work on Quarkus full time, mostly on the core and HTTP layers. ... to use Instrumentation if the class' signature has not...
Read more >Speed up development and save time with Live Reload and ...
Entering Development Mode with CLI. $ quarkus dev --help. To start dev mode from the Quarkus CLI do: $ quarkus dev [INFO] ...
Read more >App Agent Node Properties (D-E)
This property enables Java XML Binding and DOM Parser bytecode instrumentation rules. Set to true to enable. The change takes effect after a...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Good catch, I’m taking care of it.
Yeah, we definitely need to make this work OOTB for Gradle