首页 > 解决方案 > 如何在spring boot中实现热插拔(不是自动重启)?

问题描述

使用spring dev工具可以实现热重载

示例https://dzone.com/articles/spring-boot-application-live-reload-hot-swap-with

但是有什么办法可以在spring boot中实现真正的热插拔。我知道我们可以使用spring boot 开发工具进行自动重启。但我不想在每次更改时都重新启动(即自动/手动)服务器。我只需要更新我更改的java类的字节码..

标签: javaspringspring-bootgradle

解决方案


使用spring dev工具可以实现热重载

在某种程度上是的。如文档中所述(强调我的)

由于 Spring Boot 应用程序只是普通的 Java 应用程序,因此 JVM 热交换应该开箱即用。JVM 热交换在某种程度上受限于它可以替换的字节码。对于更完整的解决方案,可以使用JRebel 。

参考:https ://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-hot-swapping

因此,您需要使用 Spring Boot 配置 JRebel 以实现更高级的热交换。那里有大量的教程。


推荐阅读