TravaOpenJDK introduced a new JVM option -XX:HotswapAgent in version 11.0.9.
There are three modes to enable HotswapAgent, fatjar
, core
and external
.
What is the difference between fatjar
and core
?
Because this answer is hidden in a closed issue as @papaya said, i leave it here as reference
HotswapAgent core has no plugin except core JVM plugins. Then it is faster since less scanning tasks are necessary to be done, less class copying to target classloaders, there is no need to disable plugins. You choose only what you want.
Loaded plugins are visible in the log, "HOTSWAP AGENT: 15:43:42.059 INFO (org.hotswap.agent.config.PluginRegistry) - Discovered plugins:"
For core
: Hotswapper, WatchResources, AnonymousClassPatch, ClassInitPlugin, JdkPlugin
For fatjar
: dkPlugin, Hotswapper, WatchResources, ClassInitPlugin, AnonymousClassPatch, Hibernate, Hibernate3JPA, Hibernate3, Spring, Jersey1, Jersey2, Jetty, Tomcat, ZK, Logback, Log4j2, MyFaces, Mojarra, Omnifaces, ELResolver, WildFlyELResolver, OsgiEquinox, Owb, Proxy, WebObjects, Weld, JBossModules, ResteasyRegistry, Deltaspike, GlassFish, Vaadin, Wicket, CxfJAXRS, FreeMarker, Undertow, MyBatis