zoukankan      html  css  js  c++  java
  • [编织消息框架][JAVA核心技术]动态代理应用2

    接下来如何实现

    第一步:先把服务类,调用方法转换成数字,方便传输

    第二步:提取元信息,提取又有三种方式,三种各有优点,最优方式是第一种

      1.编译java时处理

      2.程序启动时处理,预处理

      3.调用时处理,懒处理

    第三步:编码解释

    第四步:请求方式

    第五步:分布式支持

    第一步:

    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    public @interface QModel {
        short value();
    }
    @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.RUNTIME)
    public @interface QCommond {
        byte value();
    }
    @Target({ ElementType.PARAMETER})
    @Retention(RetentionPolicy.RUNTIME)
    public @interface QRpcParam {
        boolean required() default true;
    }

    1.QModel 是转换成模块编号即是公开服务类,前面介绍过先确认数值范围再定类型。short范围-32768至32767 一个中大型项目也就是三四十模块,以所short范围足够了

    2.QCommond 是服务类调用方法编号,byte 类型

    3.QRpcParam 是绑定在参数上,因为java反射是获取不到接口参数方法名,只能获取到实现类上的参数名,java8还没支持,required 参数是否必须有

  • 相关阅读:
    wrk压测工具使用
    Mac 抓包工具wireshark使用
    hadoop无法停止
    非root用户如何使用docker命令
    too many open files
    kafka性能测试1.0.0
    命令查看linux主机配置
    ELK(Logstash+Elasticsearch+Kibana)的原理和详细搭建
    分布式session实现
    NUC972裸机调试步骤
  • 原文地址:https://www.cnblogs.com/solq111/p/6655260.html
Copyright © 2011-2022 走看看