Package org.hotswap.agent.plugin.spring
Class SpringPlugin
- java.lang.Object
-
- org.hotswap.agent.plugin.spring.SpringPlugin
-
@Plugin(name="Spring", description="Reload Spring configuration after class definition/change.", testedVersions="All between 3.0.1 - 5.2.2", expectedVersions={"3x","4x","5x"}, supportClass={ClassPathBeanDefinitionScannerTransformer.class,ProxyReplacerTransformer.class,XmlBeanDefinitionScannerTransformer.class}) public class SpringPlugin extends java.lang.ObjectSpring plugin.- Author:
- Jiri Bubnik
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String[]basePackagePrefixes
-
Constructor Summary
Constructors Constructor Description SpringPlugin()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidcglibAopProxyDisableCache(org.hotswap.agent.javassist.CtClass ctClass)voidinit()voidinit(java.lang.String version)static voidregister(org.hotswap.agent.javassist.CtClass clazz)Plugin initialization is after Spring has finished its startup and freezeConfiguration is called.voidregisterBasePackageFromConfiguration()register base package prefix from configuration filevoidregisterComponentScanBasePackage(java.lang.String basePackage)Register both hotswap transformer AND watcher - in case of new file the file is not known to JVM and hence no hotswap is called.voidregisterResourceListeners(java.net.URL url)
-
-
-
Method Detail
-
init
public void init()
-
init
public void init(java.lang.String version)
-
registerResourceListeners
@OnResourceFileEvent(path="/", filter=".*.xml", events=MODIFY) public void registerResourceListeners(java.net.URL url)
-
registerBasePackageFromConfiguration
public void registerBasePackageFromConfiguration()
register base package prefix from configuration file
-
registerComponentScanBasePackage
public void registerComponentScanBasePackage(java.lang.String basePackage)
Register both hotswap transformer AND watcher - in case of new file the file is not known to JVM and hence no hotswap is called. The file may even exist, but until is loaded by Spring it will not be known by the JVM. File events are processed only if the class is not known to the classloader yet.- Parameters:
basePackage- only files in a basePackage
-
register
@OnClassLoadEvent(classNameRegexp="org.springframework.beans.factory.support.DefaultListableBeanFactory") public static void register(org.hotswap.agent.javassist.CtClass clazz) throws org.hotswap.agent.javassist.NotFoundException, org.hotswap.agent.javassist.CannotCompileExceptionPlugin initialization is after Spring has finished its startup and freezeConfiguration is called. This will override freeze method to init plugin - plugin will be initialized and the configuration remains unfrozen, so bean (re)definition may be done by the plugin.- Throws:
org.hotswap.agent.javassist.NotFoundExceptionorg.hotswap.agent.javassist.CannotCompileException
-
cglibAopProxyDisableCache
@OnClassLoadEvent(classNameRegexp="org.springframework.aop.framework.CglibAopProxy") public static void cglibAopProxyDisableCache(org.hotswap.agent.javassist.CtClass ctClass) throws org.hotswap.agent.javassist.NotFoundException, org.hotswap.agent.javassist.CannotCompileException- Throws:
org.hotswap.agent.javassist.NotFoundExceptionorg.hotswap.agent.javassist.CannotCompileException
-
-