dubbo 解决既是消费者又是提供者 Duplicate application configs 的问题
首先 有应用A 是 提供者
应用B 来实现既是消费者又是提供者
在应用 B 这边新建两个xml
dubbo-consumer.xml 消费者
<!-- 自动扫描注解:通过dubbo实现 -->
<dubbo:annotation package="test.dubbo.*" />
<!-- 必须加上:提供方应用服务端的名称 -->
<dubbo:application name="person-client" /> <!-- 服务端需要把dubbo服务注册到zookeeper上进行广播 -->
<dubbo:registry address="zookeeper://127.0.0.1:2181" />
<!-- 用dubbo协议在20881端口服务 -->
<dubbo:protocol name="dubbo" port="20881" />
<!-- 注册需要使用的dubbo服务,通过interface指定服务接口 --> <dubbo:reference id="personInfoService" interface="test.dubbo.itf.IpersonInfoService" timeout="10000" check="false" />
dubbo-provider.xml 提供者
<!-- 自动扫描注解:通过dubbo实现 -->
<dubbo:annotation package="test.dubbo.*" />
<!-- 必须加上:提供方应用服务端的名称 -->
<dubbo:application name="person-center" /> <!-- 服务端需要把dubbo服务注册到zookeeper上进行广播 -->
<dubbo:registry address="zookeeper://127.0.0.1:2181" /> <!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" /> <!-- 服务端声明需要对外开放提供服务的接口 -->
<dubbo:service interface="test.dubbo.itf.IpersonInfoService"
protocol="dubbo" ref="personInfoService" />
启动之后会报错: Duplicate application configs: <dubbo:application name="person-client" id="person-client" /> and <dubbo:application name="person-center" id="person-center" />
重复的应用程序的配置
解决办法是把其中一个xml中的配置文件删除,留一个就好了
比如删除 dubbo-provider.xml 里面的
<!-- 自动扫描注解:通过dubbo实现 -->
<dubbo:annotation package="test.dubbo.*" />
<!-- 必须加上:提供方应用服务端的名称 -->
<dubbo:application name="person-center" /> <!-- 服务端需要把dubbo服务注册到zookeeper上进行广播 -->
<dubbo:registry address="zookeeper://127.0.0.1:2181" /> <!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
修改后的 xml文件
dubbo-consumer.xml 消费者
<!-- 自动扫描注解:通过dubbo实现 -->
<dubbo:annotation package="test.dubbo.*" />
<!-- 必须加上:提供方应用服务端的名称 -->
<dubbo:application name="person-client" /> <!-- 服务端需要把dubbo服务注册到zookeeper上进行广播 -->
<dubbo:registry address="zookeeper://127.0.0.1:2181" />
<!-- 用dubbo协议在20881端口服务 -->
<dubbo:protocol name="dubbo" port="20881" />
<!-- 注册需要使用的dubbo服务,通过interface指定服务接口 --> <dubbo:reference id="personInfoService" interface="test.dubbo.itf.IpersonInfoService" timeout="10000" check="false" />
dubbo-provider.xml 提供者
<!-- 服务端声明需要对外开放提供服务的接口 -->
<dubbo:service interface="test.dubbo.itf.IpersonInfoService"
protocol="dubbo" ref="personInfoService" />
原因是一个应用不能有重复的应用程序配置,去掉一个相同的配置就可以了。
这样就可以实现 dubbo 既是提供者又是消费者了。
dubbo 解决既是消费者又是提供者 Duplicate application configs 的问题的更多相关文章
- Java微服务(二):服务消费者与提供者搭建
本文接着上一篇写的<Java微服务(一):dubbo-admin控制台的使用>,上篇文章介绍了docker,zookeeper环境的安装,并参考dubbo官网演示了dubbo-admin控 ...
- 作为消费者访问提供者提供的功能(eureka的铺垫案例)
1. 实体类.提供者的创建如本随笔者的Euraka适合初学者的简单小demo中有所展示 2. 创建子工程作为消费者 (1) 添加依赖:切记引入实体类的依赖 <dependencies> & ...
- Dubbo入门到精通学习笔记(十二):Dubbo消费端直连提供者(开发调试)、Dubbo服务只订阅(开发调试)、Dubbo服务只注册
文章目录 Dubbo消费端直连提供者(开发调试) Dubbo服务只订阅(开发调试) Dubbo服务只注册 Dubbo消费端直连提供者(开发调试) Dubbo 官方文档: 用户指南 >> 示 ...
- java多线程解决生产者消费者问题
import java.util.ArrayList; import java.util.List; /** * Created by ccc on 16-4-27. */ public class ...
- Java如何使用线程解决生产者消费者问题?
在Java编程中,如何使用线程解决生产者消费者问题? 以下示例演示如何使用线程解决生产者消费者问题. package com.yiibai; public class ProducerConsumer ...
- Linux多线程实践(六)使用Posix条件变量解决生产者消费者问题
前面的一片文章我们已经讲过使用信号量解决生产者消费者问题.那么什么情况下我们须要引入条件变量呢? 这里借用 http://www.cnblogs.com/ngnetboy/p/3521547.htm ...
- Spring-Boot 整合Dubbo 解决@Reference 注解为null情况
首先检查一下你的spring boot版本是多少? 如果是2.X 不用看了,spring boot 2.x 必定会出现这个问题, 改为 1.5.9 或其他1.x版本,目前生产环境建议使用1.x版本. ...
- Dubbo中服务消费者和服务提供者之间的请求和响应过程
服务提供者初始化完成之后,对外暴露Exporter.服务消费者初始化完成之后,得到的是Proxy代理,方法调用的时候就是调用代理. 服务消费者经过初始化之后,得到的是一个动态代理类,InvokerIn ...
- Dubbo生产者和消费者经典案例
一.导入依赖 <dependency> <groupId>javaee</groupId> <artifactId>javaee-api</art ...
随机推荐
- mysql5.5和5.6版本更新内容
mysql 5.5,5.6 比5.1改进地方: 1,5.5默认存储引擎为innodb2,5.5增加cpu多核处理能力:innodb_read_io_threads innodb_write_io_th ...
- OpenCV、OpenCL、OpenGL、OpenPCL
对于几个开源库的总结,作为标记,以前看过,现在开始重视起来!更详细资料请移步 开源中国社区! 涉及:OpenCV,OpenCL,OpenGL,OpenPCL 截止到目前: OpenGL的最新版本为4. ...
- 04--C语言文件操作函数大全(超详细)
fopen(打开文件)相关函数 open,fclose表头文件 #include<stdio.h>定义函数 FILE * fopen(const char * path,const cha ...
- (转)shiro权限框架详解05-shiro授权
http://blog.csdn.net/facekbook/article/details/54910606 本文介绍 授权流程 授权方式 授权测试 自定义授权realm 授权流程 开始构造Secu ...
- gulp打包压缩代码以及图片
1.首先全局安装gulp 全局安装就不做介绍了 初学gulp,终于把常用的配置,api,语法弄明白了! gulp插件地址:http://gulpjs.com/plugins gulp官方网址:http ...
- 配置H3C交换机ftp服务
配置H3C交换机ftp服务,用于与交换机进行文件上传.下载,常用于更新程序上传及配置备份文件下载. 准备工作:三层设备(路由器.三层交换机等)至少一个接口配置IP,二层交换机需配置一个处于UP状态的v ...
- -ms-,-moz-,-webkit-,-o-含义
transform:rotate(30deg); //统一标识语句 -ms-transform:rotate(30deg); //-ms代表ie内核识别码 -moz-transform:rotate( ...
- js 背景从无到黑的渐变 字从白到黑的渐变
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- IOS - NSDate 自己挖的坑,自己跳
NSDate:5是坑啊啊! NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDat ...
- 微信小程序 全局变量
微信小程序里面有个app.js,我们可以在这个里面设置全局变量, App({ globalData:{ url:"http://xxx.xxx.xx:3000" } }) 在外面就 ...