由于各种原因,目前我司有些项目还在使用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参数用法示例相关推荐

  1. Dubbo -- 系统学习 笔记 -- 示例 -- 参数验证

    Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 参数验证 参数验证功能是基于JSR303实现的,用户只需标识JSR303标准的验证 ...

  2. python 装饰器 参数-python函数装饰器之带参数的函数和带参数的装饰器用法示例...

    本文实例讲述了python函数装饰器之带参数的函数和带参数的装饰器用法.分享给大家供大家参考,具体如下: 1. 函数带多个参数 # 普通的装饰器, 打印函数的运行时间 def decrator(fun ...

  3. java函数参数使用冒号_java8中:: 用法示例(JDK8双冒号用法)

    JDK8中有双冒号的用法,就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一下. 代码其实很简单: 以前的代码一般是如此的: public class Accep ...

  4. java反射用法示例_Java反射示例教程

    java反射用法示例 Java Reflection provides ability to inspect and modify the runtime behavior of applicatio ...

  5. fopen函数的用法示例_使用示例的C语言中的fopen()函数

    fopen函数的用法示例 C语言中的fopen()函数 (fopen() function in C) Prototype: 原型: FILE *fopen(const char* filename, ...

  6. fwrite函数的用法示例_C语言中的fwrite()函数(带有示例)

    fwrite函数的用法示例 C中的fwrite()函数 (fwrite() function in C) Prototype: 原型: size_t fwrite(void *buffer, size ...

  7. Go基础系列:双层channel用法示例

    Go channel系列: channel入门 为select设置超时时间 nil channel用法示例 双层channel用法示例 指定goroutine的执行顺序 双层通道的解释见Go的双层通道 ...

  8. objdump反汇编用法示例

    objdump反汇编用法示例 原文:http://blog.csdn.net/zoomdy/article/details/50563680 -d:将代码段反汇编 -S:将代码段反汇编的同时,将反汇编 ...

  9. Linux find 用法示例

    Linux中find常见用法示例 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的参数 ...

最新文章

  1. Openresty最佳案例 | 第4篇:OpenResty常见的api
  2. DialogFragment 将数据传回Activity的onActivityResult方法
  3. python的映射_Python学习:映射函数(map)和函数式编程工具(filter和reduce)
  4. Flink中的window知识体系与scala完整案例
  5. 哪些SQL语句会引起全表扫描
  6. AppScan下载安装教程
  7. 计算过去某天距离今天过去了多少天。
  8. Gmail企业邮箱让中小企业免费拥有企业邮箱
  9. Unity 3d 摄像头
  10. 【Godot 插件】获取编辑器上所有的节点
  11. Unicode双向算法详解(bidi算法)(二)
  12. Dell戴尔笔记本电脑G3 3579原装出厂Windows10系统恢复原厂oem系统
  13. 【Redis Docker容器安全性防护,防止入侵】
  14. 计算机等级考试一级ps内容,计算机等级考试《一级ps》备考练习及答案
  15. Settings 设置
  16. ecshop支持mysql_ecshop安装不支持MySQL
  17. ilove中文_Iloveyou翻译成中文是什么意思
  18. 如何设置局域网静态ip地址?
  19. 优雅的Adonis.js
  20. css制作三道杠小图标菜单图标

热门文章

  1. 启动模拟器出现内存错误不能为read
  2. 跨年倒计时,快用Python给她写朵唯一的花吧
  3. C语言——二进制转十六进制
  4. C语言,进制转换之二进制转十六进制,完整代码
  5. 【仅供参考】csapp第八章课后习题答案(欢迎批评指正)
  6. 什么是5G视频手机报?
  7. css实现圆环路径,笔记:CSS、canvas 和 SVG 分别实现元素沿环形路径运动动画
  8. 企鹅号hook获取小程序code工具有木有需要的
  9. Entity Framework实体模型 入门视频教程
  10. 结构体指针初始化问题