Class ProxyFactoryTransformer


  • public class ProxyFactoryTransformer
    extends Object
    Hook into ProxyFactory constructors to register proxy factory into WeldPlugin. If WeldPlugin is not initialized in proxy factory classLoader (ModuleClassLoader) then the proxy factory is not registered - it happens most likely in case of system beans proxy factories.
    Author:
    Vladimir Dvorak
    • Constructor Detail

      • ProxyFactoryTransformer

        public ProxyFactoryTransformer()
    • Method Detail

      • patchProxyFactory

        @OnClassLoadEvent(classNameRegexp="org.jboss.weld.bean.proxy.ProxyFactory")
        public static void patchProxyFactory​(org.hotswap.agent.javassist.ClassPool classPool,
                                             org.hotswap.agent.javassist.CtClass ctClass)
                                      throws org.hotswap.agent.javassist.NotFoundException,
                                             org.hotswap.agent.javassist.CannotCompileException
        Patch ProxyFactory class. - add factory registration into constructor - changes call classLoader.loadClass(...) in getProxyClass() to ProxyClassLoadingDelegate.loadClass(classLoader, ...) - changes call ClassFileUtils.toClass() in createProxyClass() to ProxyClassLoadingDelegate.loadClass(...)
        Parameters:
        classPool - the class pool
        ctClass - the ProxyFactory class
        Throws:
        org.hotswap.agent.javassist.NotFoundException - the not found exception
        org.hotswap.agent.javassist.CannotCompileException - the cannot compile exception