Java hotswap Spring Boot

Salut, a reusit cineva sa foloseasca hotswap/hot code replacement in java cu spring boot?
Din ce am citit pe forumuri se foloseste DCVEM si hotswap plus ceva setari in IDE(eu folosesc Intellij Community) dar de fiecare daca cand modific o metoda se restarteaza tot serverul(in loguri apare bannerul cu Spring de 2 ori).
Ma intereseaza hotswap pentru fisierele .java, nu cele statice.
Multumesc.

Poate este o idee. In eclipse parca mergea hot swap, dar restarta si server-ul. Daca afii mai multe detalii, sa scrii in topic

In cazul meu este vorba de Tomcat embedded in framework. In cazul tau pare sa fie vorba de Tomcat instalat separat. Sper ca nu gresesc.
Daca gasesc informatii utile le pun aici, sigur.

Am gasit ceva care pare sa functioneze cum imi doresc:

  1. in proiectul de Spring NU trebuie adaugata dependinta spring boot devtools
  1. trebuie instalat DCEVM , eu folosesc versiunea pentru java 181 de aici
    http://dcevm.github.io/
    $ java -version -XXaltjvm=dcevm
    java version “1.8.0_181”
    Java™ SE Runtime Environment (build 1.8.0_181-b13)
    Dynamic Code Evolution 64-Bit Server VM (build 25.71-b01-dcevmlight-26, mixed mode)

  2. in IntelijIDEA in settings cauti setarea HotSwapAgent(probabil trebuie instalat un plugin numele asta) si bifat Enable HotSwapAgent in all configurations(probabil se poate seta si la nivel de proiect

  3. Pornesti aplicatia spring in Debug mode(spring-boot:run)

5.Modifici o clasa si Build -> Build project (ctrl+F9)

  1. Apare un mesaj cu clasele care se modifica
    Metoda asta functioneaza cand adaugi o metoda sau modific corpul la una existenta

-asta e tot, ma mira ca nici un programator java nu foloseste metoda asta.

Incerc sa gasesc o solutie si pentru Visual Studio code, momentan nu stiu cum sa pornesc aplicatia cu DCEVM, probabil trebuie ceva asemanator cu
-XXaltjvm=dcevm -javaagent:{HotAgent path}/hotswap-agent-1.3.0.jar=autoHotswap=true

1 Like