Class ProxyFactoryTransformer


  • public class ProxyFactoryTransformer
    extends java.lang.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
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void patchProxyFactory​(org.hotswap.agent.javassist.CtClass ctClass, org.hotswap.agent.javassist.ClassPool classPool)
      Patch ProxyFactory class
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ProxyFactoryTransformer

        public ProxyFactoryTransformer()
    • Method Detail

      • patchProxyFactory

        @OnClassLoadEvent(classNameRegexp="org.jboss.weld.bean.proxy.ProxyFactory")
        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 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:
        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