dubbo parameters参数用法示例
由于各种原因,目前我司有些项目还在使用dubbox2.8.4 版本,有些功能需要通过parameters参数设置才能实现,现分享如下,希望可以帮助需要的同学
一、自定义路由策略的生效
1、通过xml配置生效
你会发现没有类似 router=xxx 的选项可用,这时候就得使用parameter了
<dubbo:registry address="xx" file="xx" group="xx" ><dubbo:parameter key="router" value="myRouterFactory" /></dubbo:registry>
2、通过bean配置生效
也是没有类似router的api可用,只能使用parameter搞定
@Beanpublic RegistryConfig registryConfig(){RegistryConfig registryConfig = new RegistryConfig(dubboRegistryAddress);HashMap<String, String> hashMap = new HashMap<>();hashMap.put("router","myRouterFactory");registryConfig.setParameters(hashMap);return registryConfig;}
二、设置某个方法的超时时间
1、通过xml方式实现
<dubbo:service interface="xxxxxx" ref="xxxxx"><dubbo:method name="xxxxx" timeout="60000" retries="1" /></dubbo:service>
2、通过注解的方式实现
以Service注解为例,Reference用法类似
某个类的超时时间这样设置,针对类中所有方法生效:
@Service(timeout = 5000)
public class A{a1(){}a2(){}a3(){}
}
如果想单独设置a1方法的超时时间呢,你会发现注解里面是没有类似 methods 的参数的,这时候可以通过parameters方式进行配置,如下:
@Service(timeout = 5000,parameters = {"a1.timeout", "10000"})
public class A{a1(){}a2(){}a3(){}
}
多个方法配置:
@Service(timeout = 5000,parameters = {"a1.timeout", "10000","a2.timeout", "15000"})
public class A{a1(){}a2(){}a3(){}
}
三、总结
1、如果你在使用低版本的dubbo,建议升级到 apache 高版本的dubbo,高版本里的配置参数是更完善的;
2、如果你在配置dubbo时发现没有找到自己想要的标签或者属性或者api,这时候就要考虑通过万能的parameter来实现;
dubbo parameters参数用法示例相关推荐
- Dubbo -- 系统学习 笔记 -- 示例 -- 参数验证
Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 参数验证 参数验证功能是基于JSR303实现的,用户只需标识JSR303标准的验证 ...
- python 装饰器 参数-python函数装饰器之带参数的函数和带参数的装饰器用法示例...
本文实例讲述了python函数装饰器之带参数的函数和带参数的装饰器用法.分享给大家供大家参考,具体如下: 1. 函数带多个参数 # 普通的装饰器, 打印函数的运行时间 def decrator(fun ...
- java函数参数使用冒号_java8中:: 用法示例(JDK8双冒号用法)
JDK8中有双冒号的用法,就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一下. 代码其实很简单: 以前的代码一般是如此的: public class Accep ...
- java反射用法示例_Java反射示例教程
java反射用法示例 Java Reflection provides ability to inspect and modify the runtime behavior of applicatio ...
- fopen函数的用法示例_使用示例的C语言中的fopen()函数
fopen函数的用法示例 C语言中的fopen()函数 (fopen() function in C) Prototype: 原型: FILE *fopen(const char* filename, ...
- fwrite函数的用法示例_C语言中的fwrite()函数(带有示例)
fwrite函数的用法示例 C中的fwrite()函数 (fwrite() function in C) Prototype: 原型: size_t fwrite(void *buffer, size ...
- Go基础系列:双层channel用法示例
Go channel系列: channel入门 为select设置超时时间 nil channel用法示例 双层channel用法示例 指定goroutine的执行顺序 双层通道的解释见Go的双层通道 ...
- objdump反汇编用法示例
objdump反汇编用法示例 原文:http://blog.csdn.net/zoomdy/article/details/50563680 -d:将代码段反汇编 -S:将代码段反汇编的同时,将反汇编 ...
- Linux find 用法示例
Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; find命令的参数 ...
最新文章
- Openresty最佳案例 | 第4篇:OpenResty常见的api
- DialogFragment 将数据传回Activity的onActivityResult方法
- python的映射_Python学习:映射函数(map)和函数式编程工具(filter和reduce)
- Flink中的window知识体系与scala完整案例
- 哪些SQL语句会引起全表扫描
- AppScan下载安装教程
- 计算过去某天距离今天过去了多少天。
- Gmail企业邮箱让中小企业免费拥有企业邮箱
- Unity 3d 摄像头
- 【Godot 插件】获取编辑器上所有的节点
- Unicode双向算法详解(bidi算法)(二)
- Dell戴尔笔记本电脑G3 3579原装出厂Windows10系统恢复原厂oem系统
- 【Redis Docker容器安全性防护,防止入侵】
- 计算机等级考试一级ps内容,计算机等级考试《一级ps》备考练习及答案
- Settings 设置
- ecshop支持mysql_ecshop安装不支持MySQL
- ilove中文_Iloveyou翻译成中文是什么意思
- 如何设置局域网静态ip地址?
- 优雅的Adonis.js
- css制作三道杠小图标菜单图标