3

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?

rmuller
  • 12,062
  • 4
  • 64
  • 92
  • 2
    I betlieve there is closed issue asking the same thing. https://github.com/TravaOpenJDK/trava-jdk-11-dcevm/issues/31 – papaya Jan 02 '21 at 14:17

1 Answers1

5

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

rmuller
  • 12,062
  • 4
  • 64
  • 92