Dubbo(八)之API 配置

转载自  DubboAPI 配置

以API 配置的方式来配置你的 Dubbo 应用

API 属性与配置项一对一,各属性含义,请参见:配置参考手册,比如:ApplicationConfig.setName("xxx") 对应 <dubbo:application name="xxx" /> 1

服务提供者

import org.apache.dubbo.rpc.config.ApplicationConfig;
import org.apache.dubbo.rpc.config.RegistryConfig;
import org.apache.dubbo.rpc.config.ProviderConfig;
import org.apache.dubbo.rpc.config.ServiceConfig;
import com.xxx.XxxService;
import com.xxx.XxxServiceImpl;// 服务实现
XxxService xxxService = new XxxServiceImpl();// 当前应用配置
ApplicationConfig application = new ApplicationConfig();
application.setName("xxx");// 连接注册中心配置
RegistryConfig registry = new RegistryConfig();
registry.setAddress("10.20.130.230:9090");
registry.setUsername("aaa");
registry.setPassword("bbb");// 服务提供者协议配置
ProtocolConfig protocol = new ProtocolConfig();
protocol.setName("dubbo");
protocol.setPort(12345);
protocol.setThreads(200);// 注意:ServiceConfig为重对象,内部封装了与注册中心的连接,以及开启服务端口// 服务提供者暴露服务配置
ServiceConfig<XxxService> service = new ServiceConfig<XxxService>(); // 此实例很重,封装了与注册中心的连接,请自行缓存,否则可能造成内存和连接泄漏
service.setApplication(application);
service.setRegistry(registry); // 多个注册中心可以用setRegistries()
service.setProtocol(protocol); // 多个协议可以用setProtocols()
service.setInterface(XxxService.class);
service.setRef(xxxService);
service.setVersion("1.0.0");// 暴露及注册服务
service.export();

服务消费者

import org.apache.dubbo.rpc.config.ApplicationConfig;
import org.apache.dubbo.rpc.config.RegistryConfig;
import org.apache.dubbo.rpc.config.ConsumerConfig;
import org.apache.dubbo.rpc.config.ReferenceConfig;
import com.xxx.XxxService;// 当前应用配置
ApplicationConfig application = new ApplicationConfig();
application.setName("yyy");// 连接注册中心配置
RegistryConfig registry = new RegistryConfig();
registry.setAddress("10.20.130.230:9090");
registry.setUsername("aaa");
registry.setPassword("bbb");// 注意:ReferenceConfig为重对象,内部封装了与注册中心的连接,以及与服务提供方的连接// 引用远程服务
ReferenceConfig<XxxService> reference = new ReferenceConfig<XxxService>(); // 此实例很重,封装了与注册中心的连接以及与提供者的连接,请自行缓存,否则可能造成内存和连接泄漏
reference.setApplication(application);
reference.setRegistry(registry); // 多个注册中心可以用setRegistries()
reference.setInterface(XxxService.class);
reference.setVersion("1.0.0");// 和本地bean一样使用xxxService
XxxService xxxService = reference.get(); // 注意:此代理对象内部封装了所有通讯细节,对象较重,请缓存复用

特殊场景

下面只列出不同的地方,其它参见上面的写法

方法级设置

...// 方法级配置
List<MethodConfig> methods = new ArrayList<MethodConfig>();
MethodConfig method = new MethodConfig();
method.setName("createXxx");
method.setTimeout(10000);
method.setRetries(0);
methods.add(method);// 引用远程服务
ReferenceConfig<XxxService> reference = new ReferenceConfig<XxxService>(); // 此实例很重,封装了与注册中心的连接以及与提供者的连接,请自行缓存,否则可能造成内存和连接泄漏
...
reference.setMethods(methods); // 设置方法级配置...

点对点直连


...ReferenceConfig<XxxService> reference = new ReferenceConfig<XxxService>(); // 此实例很重,封装了与注册中心的连接以及与提供者的连接,请自行缓存,否则可能造成内存和连接泄漏
// 如果点对点直连,可以用reference.setUrl()指定目标地址,设置url后将绕过注册中心,
// 其中,协议对应provider.setProtocol()的值,端口对应provider.setPort()的值,
// 路径对应service.setPath()的值,如果未设置path,缺省path为接口名
reference.setUrl("dubbo://10.20.130.230:20880/com.xxx.XxxService"); ...

  1. API使用范围说明:API 仅用于 OpenAPI, ESB, Test, Mock 等系统集成,普通服务提供方或消费方,请采用XML 配置方式使用 Dubbo ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/322161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nssl1338-逃亡路径【最短路计数,bfs】

正题 题目大意 n∗mn*mn∗m的格子&#xff0c;一个走"日"字形的马&#xff0c;从(1,1)(1,1)(1,1)走到(n,m)(n,m)(n,m)的最短路条数。 解题思路 模板最短路计数改一下即可 当然因为边权都为1所以这里改成了bfsbfsbfs codecodecode #include<cstdio> #include&…

Azure Functions + Azure Batch实现MP3音频转码方案

客户需求客户的环境是一个网络音乐播放系统&#xff0c;根据网络情况提供给手机用户收听各种码率的MP3歌曲&#xff0c;在客户没购买歌曲的情况下提供一个三十秒内的试听版本。这样一个系统非常明确地一个需求就是会定期需要将一批从音乐版商手中获取到的高比特率音乐文件转换成…

Springboot Mybatis多数据源配置MybatisProperties坑

一、场景复现 配置了两个数据源&#xff0c;查询Dao却报错表不存在。 &#xff08;1&#xff09;maven <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId> </dependency> …

nssl1351-矩形反色【离散,差分】

正题 题目大意 对一个全白矩阵每次选择一个矩阵颜色取反。 然后求最后所有黑色联通块的周长之和。 解题思路 因为是算周长&#xff0c;所以我们将一个矩阵拆分成4条边&#xff0c;然后将横竖分开处理。 若处理横的边&#xff0c;我们按照xxx为关键字排序。 然后对于xxx不同…

dotnet core webapi +vue 搭建前后端完全分离web架构(一)

架构服务端采用 dotnet core webapi前端采用: Vue router elementUIaxios问题使用前后端完全分离的架构&#xff0c;首先遇到的问题肯定是跨域访问。前后端可能不在同个server上&#xff0c;即使前后端处在同个server上&#xff0c;由于前后端完全分离&#xff0c;前后端使用…

SpringBoot使用日志

转载自 SpringBoot使用日志 1、选什么日志框架 首先列举一下日志门面和实现SpringBoot默认选用SLF4J和Logback日志级别&#xff1a;springboot默认已经帮我们配置好了日志&#xff0c;日志级别为trace<debug<info<warn<error默认的日志级别为inifo&#xff0c;日…

Dotnet Core Windows Service

在dotnet 中有topshelf 可以很方便的写windows 服务并且安装也是很方便的&#xff0c;命令行 运行.exe install 就直接把exe 程序安装成windows 服务。当然代码也要做相应的修改&#xff0c;具体的可以参照例子。在dotnet core 2.0 中 我们也有一个很方便的dll 来使用 https://…

P4549-[模板]裴蜀定理

正题 题目链接:https://www.luogu.org/problem/P4549 题目大意 一个整数序列AAA&#xff0c;一个整数序列XXX使得 ∑i1nAiXiS\sum_{i1}^n A_iX_iSi1∑n​Ai​Xi​S 求SSS可能的最小正整数值。 裴蜀定理 对于方程axbyS(x,y∈N)axbyS(x,y\in \mathbb{N}^)axbyS(x,y∈N) 的充要…

Dubbo(十)之配置加载流程

转载自 Dubbo配置加载流程 Dubbo 中的配置加载流程介绍 此篇文档主要讲在应用启动阶段&#xff0c;Dubbo框架如何将所需要的配置采集起来&#xff08;包括应用配置、注册中心配置、服务配置等&#xff09;&#xff0c;以完成服务的暴露和引用流程。 根据驱动方式的不同&…

.NET 文档数据库 RavenDB 4.0 发布

RavenDB 还有一个新的版本&#xff0c;RavenDB 4.0.0&#xff0c;一个ACID文档数据库&#xff0c;为数据操作中的高性能业务提供完全事务性的开源NoSQL解决方案。新版本更新了许多关键功能。平台Windows x64Windows x86Ubuntu 16.04 x64树莓派Docker&#xff08;Ubuntu 16.04和…

P5091-[模板]欧拉定理

正题 题目链接:https://www.luogu.org/problem/P5091 题目大意 求abmod&ThinSpace;&ThinSpace;ma^b\mod mabmodm 欧拉定理及扩展 欧拉定理: 对于(a,m)1(a,m)1(a,m)1那么有aφ(m)≡1(modm)a^{\varphi(m)}\equiv 1(mod\ m)aφ(m)≡1(mod m) 扩展欧拉定理 ab≡{ab%φ…

Dubbo(九)之注解配置

转载自 Dubbo注解配置 以注解配置的方式来配置你的 Dubbo 应用 提示 需要 2.6.3 及以上版本支持。 点此查看 完整示例 服务提供方 Service注解暴露服务 Service public class AnnotationServiceImpl implements AnnotationService {Overridepublic String sayHello(Stri…

P5431-[模板]乘法逆元2【递推】

正题 题目链接:https://www.luogu.org/problem/P5431 题目大意 一个长度为nnn的序列aaa。 求(∑i1nkiai)%p(\sum_{i1}^n \frac{k^i}{a_i})\% p(i1∑n​ai​ki​)%p 解题思路 定义si∏i1iais_i\prod_{i1}^ia_isi​i1∏i​ai​ 1si−11si∗ai\frac{1}{s_{i-1}}\frac{1}{s_{i}…

dotnetcore+vue+elementUI 前后端分离架 二(后端篇)

前言最近几年前后端分离架构大行其道&#xff0c;而且各种框架也是层出不穷。本文通过dotnetcore vue 来介绍 前后端分离架构实战。涉及的技术栈服务端技术mysql本项目使用mysql 作为持久化层本项目采用了 mysql 的示例 employees 数据库, 需要的朋友可以自行下载 。http://www…

SpringCloud Gateway配置自定义路由404坑

一、场景复现 微服务自定义路由&#xff0c;返回404页面。 ①如图&#xff1a; &#xff08;1&#xff09;springcloud-gateway的路由设置 Configuration public class RouteConfig {Beanpublic RouteLocator customRouteLocator(RouteLocatorBuilder builder) {return buil…

Actor-ES框架:Ray-Handler之ToReadHandler编写

如图右上角所示&#xff0c;Ray中有两类Handler&#xff08;SubHandler和PartSubHandler&#xff09;,在使用中&#xff0c;SubHandler派生Actor的CoreHandler&#xff0c;PartSubHandler派生SQLToReadHandler&#xff0c;SQLToReadHandler派生Actor的ToReadHandler&#xff0c…

POJ1006-Biorhythms【中国剩余定理】

正题 题目链接:http://poj.org/problem?id1006 题目大意 若干个p,e,i,dp,e,i,dp,e,i,d。已经知道 {(dx)≡p(mod23)(dx)≡e(mod28)(dx)≡i(mod33)\left\{\begin{matrix} (dx)\equiv p(mod\ 23) \\ (dx)\equiv e(mod\ 28) \\ (dx)\equiv i(mod\ 33) \end{matrix}\right.⎩⎨⎧…

SpringCloud Zuul(十)之配置路由prefix坑

一、场景复现 配置prefixapi访问/api/micro-service/test接口404 &#xff08;1&#xff09;zuul配置 zuul:strip-prefix: true #转发路径截断匹配前缀prefix: "api"add-proxy-headers: falseset-content-length: truesemaphore:max-semaphores: 600 &#xff08;…

在Firefox 58中,WebAssembly组件性能提升了10倍

Mozilla在Firefox 58中为WebAssembly&#xff08;WASM&#xff09;组件推出了一套双层编译系统&#xff0c;号称解析和编译WASM代码的速度达到30-60MB/s&#xff0c;足够在有线网络中实现实时编译。基准测试表明&#xff0c;新版的性能比旧版提高了10倍&#xff0c;比Chrome快1…

SpringCloud Zuul(九)之路由自动刷新原理

一、现象 发布新服务&#xff0c;然后在数据库配置了路由&#xff0c;使用服务路径访问404。然后重新发布新的服务&#xff0c;就可以继续访问得到 &#xff08;1&#xff09;配置了路由第一次访问 &#xff08;2&#xff09;重新发布后访问 二、分析 &#xff08;1&#xf…