Class HotswapperPlugin
- java.lang.Object
-
- org.hotswap.agent.plugin.hotswapper.HotswapperPlugin
-
@Plugin(name="Hotswapper", description="Watch for any class file change and reload (hotswap) it on the fly.", testedVersions="JDK 1.7.0_45", expectedVersions="JDK 1.6+") public class HotswapperPlugin extends Object
Hotswap class changes directly via JPDA API. This plugin creates an instance for each classloader with autoHotswap agent property set. Then it listens for .class file change and executes hotswap via JPDA API.- Author:
- Jiri Bubnik
- See Also:
HotSwapperJpda
-
-
Constructor Summary
Constructors Constructor Description HotswapperPlugin()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidinit(PluginConfiguration pluginConfiguration, ClassLoader appClassLoader)For each classloader check for autoHotswap configuration instance with hotswapper.voidinitHotswapCommand(ClassLoader appClassLoader, String port)Create a hotswap command using hotSwappper.voidwatchReload(CtClass ctClass, ClassLoader appClassLoader, URL url)For each changed class create a reload command.
-
-
-
Method Detail
-
watchReload
@OnClassFileEvent(classNameRegexp=".*", events={MODIFY,CREATE}) public void watchReload(CtClass ctClass, ClassLoader appClassLoader, URL url) throws IOException, CannotCompileException
For each changed class create a reload command.- Throws:
IOExceptionCannotCompileException
-
initHotswapCommand
public void initHotswapCommand(ClassLoader appClassLoader, String port)
Create a hotswap command using hotSwappper.- Parameters:
appClassLoader- it can be run in any classloader with tools.jar on classpath. AppClassLoader can be setup by maven dependency (jetty plugin), use this classloader.port- attach the hotswapper
-
init
@Init public static void init(PluginConfiguration pluginConfiguration, ClassLoader appClassLoader)
For each classloader check for autoHotswap configuration instance with hotswapper.
-
-