Search code examples
jakarta-eeidewildflywildfly-swarm

Developing with Wildfly Swarm in IDE without restarts - "hot deploy" somewhere?


I'm interested in the Wildfly Swarm project to create fat-jar JavaEE application but can't figure out how to "hot deploy" changed classes from the IDE.

Whenever I change a line of code or a JSF xhtml file I currently have to restart the whole application which takes 7s or so. That's not very productive.

Spring Boot offers a spring-boot-devtools that reloads at least some classes, traditional app servers offer hot-deploy protocols. Is there anything similar for Wildfly Swarm? Would JRebel help here?


Solution

  • You can run WildFly Swarm as a Java Application directly from sources in your favorite IDE, by calling your own Main class or the org.wildfly.swarm.Swarm class. This saves you the packaging step.

    As for hot class reloading, as usual, the JVM will be able to reload non-structural changes, but will have to be restarted whenever you "break" a class signature. I haven't tried it but it's very likely JRebel might be able to help there.

    If you're an Eclipse user, you can give wildfly-hive a try. It tries to autodetect swarm apps and creates matching servers in the servers view. You just have to click start/debug/stop, similar to standard servers in Eclipse.