Class ProxyFactoryTransformer


  • public class ProxyFactoryTransformer
    extends Object
    Hook into AbstractProxyFactory constructors to register proxy factory into OwbPlugin. If OwbPlugin 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.apache.webbeans.proxy.AbstractProxyFactory")
        public static void patchProxyFactory​(org.hotswap.agent.javassist.CtClass ctClass,
                                             org.hotswap.agent.javassist.ClassPool classPool)
                                      throws org.hotswap.agent.javassist.NotFoundException,
                                             org.hotswap.agent.javassist.CannotCompileException
        Patch AbstractProxyFactory 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:
        ctClass - the ProxyFactory class
        classPool - the class pool
        Throws:
        org.hotswap.agent.javassist.NotFoundException - the not found exception
        org.hotswap.agent.javassist.CannotCompileException - the cannot compile exception