这部分介绍在 SOFABoot 环境下,完整的 SOFARPC 服务发布与引用说明
发布服务
<bean id="helloSyncServiceImpl" class="com.alipay.sofa.rpc.samples.invoke.HelloSyncServiceImpl"/>
<sofa:service ref="helloSyncServiceImpl" interface="com.alipay.sofa.rpc.samples.invoke.HelloSyncService" unique-id="">
<sofa:binding.bolt>
<sofa:global-attrs registry="" serialize-type="" filter="" timeout="3000" thread-pool-ref=""
warm-up-time="60000"
warm-up-weight="10" weight="100"/>
</sofa:binding.bolt>
<sofa:binding.rest>
</sofa:binding.rest>
</sofa:service>
属性 |
名称 |
默认值 |
备注 |
id |
ID |
bean名 |
|
class |
类 |
无 |
|
ref |
服务接口实现类 |
|
|
interface |
服务接口(唯一标识元素) |
|
不管是普通调用和返回调用,这里都设置实际的接口类 |
unique-id |
服务标签(唯一标识元素) |
|
|
filter |
过滤器配置别名 |
|
多个用逗号隔开 |
registry |
服务端注册中心 |
|
逗号分隔 |
timeout |
服务端执行超时时间 |
|
|
serialize-type |
序列化协议 |
hessian2,protobuf |
|
thread-pool-ref 服务端当前接口使用的线程池 |
无 |
|
|
weight |
服务静态权重 |
|
|
warm-up-weight |
服务预热权重 |
|
|
warm-up-time |
服务预热时间 |
|
单位毫秒 |
引用服务
<sofa:reference jvm-first="false" id="helloSyncServiceReference"
interface="com.alipay.sofa.rpc.samples.invoke.HelloSyncService" unique-id="">
<sofa:binding.bolt>
<sofa:global-attrs type="sync" timeout="3000" callback-ref="" callback-class="" address-wait-time="1000"
connect.num="1" check="false" connect.timeout="1000" filter="" generic-interface=""
idle.timeout="1000"
idle.timeout.read="1000" lazy="false" loadBalancer="" registry="" retries="1"
serialize-type="" />
<sofa:route target-url="xxx:12200" />
<sofa:method name="hello" callback-class="" callback-ref="" timeout="3000" type="sync"/>
</sofa:binding.bolt>
</sofa:reference>
属性 |
名称 |
默认值 |
备注 |
id |
ID |
自动生成 |
|
jvm-first |
是否优先本地 |
true |
|
interface |
服务接口(唯一标识元素) |
|
不管是普通调用和返回调用,这里都设置实际的接口类 |
unique-id |
服务标签(唯一标识元素) |
|
|
type |
调用方式 |
sync |
callback,sync,future,oneway |
filter |
过滤器配置别名 |
|
List |
registry |
服务端注册中心 |
|
List |
method |
方法级配置 |
|
说明同上 |
serialize-type |
序列化协议 |
hessian2 |
|
target-url |
直连地址 |
|
直连后register |
generic-interface |
泛化接口 |
|
|
connect.timeout |
建立连接超时时间 |
3000(cover 5000) |
|
connect.num |
连接数 |
1 |
|
idle.timeout |
空闲超时时间 |
|
|
idle.timeout.read |
读空闲超时时间 |
|
|
loadBalancer |
负载均衡算法 |
random |
|
lazy |
是否延迟建立长连接 |
false |
|
address-wait-time |
等待地址获取时间 |
-1 |
取决于实现,可能不生效。 |
timeout |
调用超时时间 |
3000(cover 5000) |
|
retries |
失败后重试次数 |
0 |
跟集群模式有关,failover读取此参数。 |
callback-class |
callback 回调类 |
无 |
callback 才可用 |
callback-ref |
callback 回调类 |
无 |
callback 才可用 |