更新时间:2020-02-18 09:25
内部全部使用 SofaRequest
和 SofaResponse
进行传递。
如果需要转换为其它协议,那么在真正调用和收到请求的时候,转换为实际要传输的对象。
可以对 SofaRequest
和 SofaResponse
进行写入操作的模块如下:
对消息体是只读的模块如下:
日志的初始化也是基于扩展机制。虽然是扩展,但是由于日志的加载应该是最早的,所以在 rpc-config.json
里有一个单独的 Key。
{
// 日志实现,日志早于配置加载,所以不能适应Extension机制
"logger.impl": "com.alipay.sofa.rpc.log.MiddlewareLoggerImpl"
}
用户的配置,例如端口配置(虽然已经开放对象中设置端口的字段,但是 SOFA 默认是从配置文件里取的),线程池大小配置等。
SofaConfigs
加载配置,调用 ExternalConfigLoader 读取外部属性。SofaConfigs
提供的 API 进行获取。SofaOptions
类。System.property
> sofa-config.properties
(每个应用一个)> rpc-config.properties
框架自身的配置,例如默认序列化,默认超时等。
RpcConfigs
加载配置文件。RpcConfigs
其提供的API进行获取和监听数据变化RpcOptions
类System.property
> custom rpc-config.json
(可能存在多个自定义,会排序)> rpc-config-default.json
RpcConstants
中,例如:ProviderInfo
类中ProviderInfo
的值主要分为三部分:ProviderInfoAttrs
类中
在文档使用中是否遇到以下问题
更多建议
匿名提交