《Apache Dubbo微服务开发从入门到精通》——配置手册——六、 配置项手册(9) https://developer.aliyun.com/article/1225078
13) method
方法级配置。对应的配置类:org.apache.dubbo.config.MethodConfig。同时该标签为service或reference的子标签,用于控制到方法级。
比如:
属性 |
对应URL参数 |
类型 |
是否必填 |
缺省值 |
作用 |
描述 |
兼容性 |
name |
|
string |
必填 |
|
标识 |
方法名 |
1.0.8以上版本 |
timeout |
<methodName>.timeout |
int |
可选 |
缺省为的timeout |
性能调优 |
方法调用超时时间(毫秒) |
1.0.8以上版本 |
retries |
<methodName>.retries |
int |
可选 |
缺省为<dubbo:reference>的retries |
性能调优 |
远程服务调用重试次数,不包括第一次调用,不需要重试请设为0 |
2.0.0以上版本 |
loadbalance |
<methodName>.loadbalance |
string |
可选 |
缺省为的loadbalance |
性能调优 |
负载均衡策略,可选值: * random - 随机; * roundrobin - 轮询; * leastactive - 最少活跃调用; * consistenthash - 哈希一致 (2.1.0以上版本); * shortestresponse - 最短响应 (2.7.7以上版本); |
2.0.0以上版本 |
async |
<methodName>.async |
boolean |
可选 |
缺省为<dubbo:reference>的async |
性能调优 |
是否异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程 |
1.0.9以上版本 |
sent |
<methodName>.sent |
boolean |
可选 |
true |
性能调优 |
异步调用时,标记sent=true时,表示网络已发出数据 |
2.0.6以上版本 |
actives |
<methodName>.actives |
int |
可选 |
0 |
性能调优 |
每服务消费者最大并发调用限制 |
2.0.5以上版本 |
executes |
<methodName>.executes |
int |
可选 |
0 |
性能调优 |
每服务每方法最大使用线程数限制- -,此属性只在<dubbo:method>作为<dubbo:service>子标签时有效 |
2.0.5以上版本 |
deprecated |
<methodName>.deprecated |
boolean |
可选 |
false |
服务治理 |
服务方法是否过时,此属性只在<dubbo:method>作为<dubbo:service>子标签时有效 |
2.0.5以上版本 |
sticky |
<methodName>.sticky |
boolean |
可选 |
false |
服务治理 |
设置true 该接口上的所有方法使用同一个provider.如果需要更复杂的规则,请使用路由 |
2.0.6以上版本 |
return |
<methodName>.return |
boolean |
可选 |
true |
性能调优 |
方法调用是否需要返回值,async设置为true时才生效,如果设置为true,则返回future,或回调onreturn等方法,如果设置为false,则请求发送成功后直接返回Null |
2.0.6以上版本 |
oninvoke |
attribute属性,不在URL中体现 |
String |
可选 |
|
性能调优 |
实例执行前拦截 |
2.0.6以上版本 |
onreturn |
attribute属性,不在URL中体现 |
String |
可选 |
|
性能调优 |
实例执行返回后拦截 |
2.0.6以上版本 |
onthrow |
attribute属性,不在URL中体现 |
String |
可选 |
|
性能调优 |
实例执行有异常拦截 |
2.0.6以上版本 |
oninvokeMethod |
attribute属性,不在URL中体现 |
String |
可选 |
|
性能调优 |
方法执行前拦截 |
2.0.6以上版本 |
onreturnMethod |
attribute属性,不在URL中体现 |
String |
可选 |
|
性能调优 |
方法执行返回后拦截 |
2.0.6以上版本 |
onthrowMethod |
attribute属性,不在URL中体现 |
String |
可选 |
|
性能调优 |
方法执行有异常拦截 |
2.0.6以上版本 |
cache |
<methodName>.cache |
string/boolean |
可选 |
|
服务治理 |
以调用参数为key,缓存返回结果,可选:lru, threadlocal, jcache等 |
2.1.0以上版本 |
validation |
<methodName>.validation |
boolean |
可选 |
|
服务治理 |
是否启用JSR303标准注解验证,如果启用,将对方法参数上的注解进行校验 |
2.1.0以上版本 |
14) argument
方法参数配置。对应的配置类:org.apache.dubbo.config.ArgumentConfig。该标签为method的子标签,用于方法参数的特征描述,比如XML格式:
属性 |
对应URL参数 |
类型 |
是否必填 |
缺省值 |
作用 |
描述 |
兼容性 |
ex |
|
int |
必填 |
|
标识 |
参数索引 |
2.0.6以上版本 |
type |
|
String |
与index二选一 |
|
标识 |
通过参数类型查找参数的index |
2.0.6以上版本 |
callback |
<metodName><index>.callback |
boolean |
可选 |
|
服务治理 |
参数是否为callback接口,如果为callback,服务提供方将生成反向代理,可以从服务提供方反向调用消费方,通常用于事件推送. |
2.0.6以上版本 |
《Apache Dubbo微服务开发从入门到精通》——配置手册——六、 配置项手册(11) https://developer.aliyun.com/article/1225076