模块 org.redkale

类 MessageAsmMethodBoost


  • public class MessageAsmMethodBoost
    extends org.redkale.asm.AsmMethodBoost
    作者:
    zhangjx
    • 构造器详细资料

      • MessageAsmMethodBoost

        public MessageAsmMethodBoost​(boolean remote,
                                     Class serviceType,
                                     MessageModuleEngine messageEngine)
    • 方法详细资料

      • filterMethodAnnotations

        public List<Class<? extends Annotation>> filterMethodAnnotations​(Method method)
        从类复制的说明: org.redkale.asm.AsmMethodBoost
        获取需屏蔽的方法上的注解
        指定者:
        filterMethodAnnotations 在类中 org.redkale.asm.AsmMethodBoost
        参数:
        method - 方法
        返回:
        需要屏蔽的注解
      • doMethod

        public org.redkale.asm.AsmNewMethod doMethod​(RedkaleClassLoader.DynBytesClassLoader classLoader,
                                                     org.redkale.asm.ClassWriter cw,
                                                     Class serviceImplClass,
                                                     String newDynName,
                                                     String fieldPrefix,
                                                     List filterAnns,
                                                     Method method,
                                                     org.redkale.asm.AsmNewMethod newMethod)
        从类复制的说明: org.redkale.asm.AsmMethodBoost
        对方法进行动态加强处理
        指定者:
        doMethod 在类中 org.redkale.asm.AsmMethodBoost
        参数:
        classLoader - ClassLoader
        cw - 动态字节码Writer
        serviceImplClass - 原始实现类
        newDynName - 动态新类名
        fieldPrefix - 动态字段的前缀
        filterAnns - 需要过滤的注解
        method - 操作的方法
        newMethod - 新的方法名, 可能为null
        返回:
        下一个新的方法名,不做任何处理应返回参数newMethodName
      • getMethodMessageType

        protected static Type getMethodMessageType​(Method method)
      • createInnerConsumer

        protected void createInnerConsumer​(org.redkale.asm.ClassWriter pcw,
                                           @Nonnull
                                           Class serviceImplClass,
                                           @Nonnull
                                           Method method,
                                           Type messageType,
                                           Messaged messaged,
                                           String newDynName,
                                           org.redkale.asm.AsmNewMethod newMethod)
      • doAfterMethods

        public void doAfterMethods​(RedkaleClassLoader.DynBytesClassLoader classLoader,
                                   org.redkale.asm.ClassWriter cw,
                                   String newDynName,
                                   String fieldPrefix)
        从类复制的说明: org.redkale.asm.AsmMethodBoost
        处理所有动态方法后调用
        覆盖:
        doAfterMethods 在类中 org.redkale.asm.AsmMethodBoost
        参数:
        classLoader - ClassLoader
        cw - 动态字节码Writer
        newDynName - 动态新类名
        fieldPrefix - 动态字段的前缀
      • doInstance

        public void doInstance​(RedkaleClassLoader.DynBytesClassLoader classLoader,
                               ResourceFactory resourceFactory,
                               Object service)
        从类复制的说明: org.redkale.asm.AsmMethodBoost
        实例对象进行操作,通常用于给动态的字段赋值
        指定者:
        doInstance 在类中 org.redkale.asm.AsmMethodBoost
        参数:
        classLoader - ClassLoader
        resourceFactory - ResourceFactory
        service - 实例对象