This is an automated email from the ASF dual-hosted git repository.

jamesfredley pushed a commit to branch intellij-hotswap-debug
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit 351fda50b977b7a3f63c5783f6fa92f37b940d8c
Author: James Fredley <[email protected]>
AuthorDate: Sat Dec 13 00:11:12 2025 -0500

    Add IntelliJ IDEA Enhanced HotSwap to reloading guide
    
    Updated the development reloading documentation to include IntelliJ IDEA 
Enhanced HotSwap in Debug Mode as a supported tool for hot code reloading in 
Grails. Added details about its mechanism, usage, and relevant documentation 
links, as well as a note on overcoming limitations with JetBrains Runtime.
---
 .../src/en/guide/gettingStarted/developmentReloading.adoc   | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/grails-doc/src/en/guide/gettingStarted/developmentReloading.adoc 
b/grails-doc/src/en/guide/gettingStarted/developmentReloading.adoc
index 88d0ee879d..8fcb3ac47d 100644
--- a/grails-doc/src/en/guide/gettingStarted/developmentReloading.adoc
+++ b/grails-doc/src/en/guide/gettingStarted/developmentReloading.adoc
@@ -17,7 +17,7 @@ specific language governing permissions and limitations
 under the License.
 ////
 
-Spring Boot Developer Tools, JRebel, and Hotswap Agent are tools designed to 
improve developer productivity by enabling application reloading during 
development, reducing the need for full application restarts. Since Grails is 
built on Spring Boot, all three tools are compatible, but they differ in 
mechanisms, features, and trade-offs. Spring Boot Developer Tools is the 
default in Grails, replacing older agents like Spring Loaded (no longer 
maintained and lacking support for Java 17+). H [...]
+Spring Boot Developer Tools, JRebel, IntelliJ IDEA Enhanced HotSwap in Debug 
Mode and Hotswap Agent are tools designed to improve developer productivity by 
enabling application reloading during development, reducing the need for full 
application restarts. Since Grails is built on Spring Boot, all three tools are 
compatible, but they differ in mechanisms, features, and trade-offs. Spring 
Boot Developer Tools is the default in Grails, replacing older agents like 
Spring Loaded (no longer ma [...]
 
 === Spring Boot Developer Tools
 
@@ -38,8 +38,19 @@ JRebel is a commercial tool that provides advanced hot 
swapping capabilities, al
 
 Please see the JRebel documentation for more details: 
https://manuals.jrebel.com/jrebel/standalone/springboot.html[JRebel].
 
+JRebel plugin for IntelliJ IDEA: 
https://plugins.jetbrains.com/plugin/4441-jrebel-and-xrebel[JRebel IntelliJ 
Plugin].
+
 *Reloading Mechanism:* True hot swapping via bytecode instrumentation; reloads 
classes, configurations, and resources without restarting the JVM, preserving 
application state.
 
+=== IntelliJ IDEA Enhanced HotSwap in Debug Mode
+IntelliJ IDEA Enhanced HotSwap is a feature available in the IntelliJ IDEA IDE 
that allows developers to reload code changes while debugging their 
applications. When running a Grails application in debug mode, IntelliJ IDEA 
can reload modified classes without requiring a full application restart. This 
feature is particularly useful for making quick changes and testing them during 
a debugging session.
+
+*Reloading Mechanism:* Enhanced hot swapping using IntelliJ's debugging 
capabilities; reloads modified classes during a debug session, with limitations 
on structural changes.
+
+Please see the IntelliJ IDEA documentation for more details: 
https://www.jetbrains.com/help/idea/altering-the-program-s-execution-flow.html#reload_classes[IntelliJ
 IDEA Enhanced HotSwap].
+
+Using https://github.com/JetBrains/JetBrainsRuntime[Jetbrains' Runtime] and 
jvmArgs `-XX:+AllowEnhancedClassRedefinition` on the `bootRun` task overcomes 
some of these limitations.
+
 === Hotswap Agent
 
 *Hotswap Agent support for Grails is considered experimental, and it may not 
work in all cases. Known limitations are documented 
https://github.com/apache/grails-core/issues/14967[here].*

Reply via email to