[编织消息框架][JAVA核心技术]动态代理应用2

Posted solq321

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[编织消息框架][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 参数是否必须有

 

以上是关于[编织消息框架][JAVA核心技术]动态代理应用2的主要内容,如果未能解决你的问题,请参考以下文章

[编织消息框架][JAVA核心技术]动态代理应用7-实现设计

[编织消息框架][JAVA核心技术]动态代理应用8-IRpcReceive实现

[编织消息框架][JAVA核心技术]动态代理应用9-扫描class

[编织消息框架][JAVA核心技术]动态代理介绍

[编织消息框架][JAVA核心技术]异常基础

[编织消息框架]数值与逻辑分离