项目结构
相关依赖
依赖引入放到服务模块下 也就是user-app
<!--dubbo-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>2.7.2</version>
<exclusions>
<exclusion>
<artifactId>spring</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo -->
<!--zookeeper-->
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.10</version>
<exclusions>
<exclusion>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<!--zookeeper连接java的工具-->
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
<!--zookeeper补丁包 自动重连 分布式锁 编程风格等-->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.0.1</version>
</dependency>
相关配置
# dubbo config
# 应⽤定义了提供⽅应⽤信息,⽤于计算依赖关系;在 dubbo-admin 或 dubbo-monitor 会显示这个名字,⽅便辨识
dubbo:
application:
name: user-app
# 使⽤ zookeeper 注册中⼼暴露服务,注意要先开启 zookeeper
# 注册中⼼id
registry:
id: zookeeper-registry
# 注册中⼼协议 阿里提供的不光有zookeeper还有别的
protocol: zookeeper
# 注册中⼼地址 使用自己搭建好的zookeeper的地址
address: 127.0.0.1:2181
# dubbo协议在20880端⼝暴露服务
# 协议名称
protocol:
name: dubbo
# 协议端⼝
port: 20880
# 协议访问log
accesslog: dubbo-access.log
#重试次数
provider:
retries: 0
# 超时时间
timeout: 3000
# 注册监控中⼼
monitor:
protocol: registry
启动类注解
@EnableDubboConfig
@DubboComponentScan("com.jhclass.userapp.service")//对外提供的服务包路径
进⾏@Service注解扫描 @org.apache.dubbo.config.annotation.Service 序列化传输对象
对⽐加⼊dubbo依赖和没加依赖前后的区别
dubbo跑起来了
ZK连接上了 dubbo端⼝和http端⼝同时跑起来了
启动项目出现dubbo这些控制台打印就是成功了,显示了dubbo的端口协议地址什么的
Comsumer的配置
和上面一样,引入依赖,引入配置
启动类的包扫描路径是生成者的路径,远程变成本地,bean对象交给当前消费者管理
引入生产者插件包
扫描二维码关注公众号,回复:
12463433 查看本文章

在调⽤的地⽅加⼊注解 一定不要使用jdk的注解,会报空指针
@Reference com.alibaba.dubbo.config.annotation.Reference
下面是我消费者写了一个方法,调用生产者
以上就dubbo的所有配置,生产者消费者配置比较多,不要搞混,有些注解应该使用dubbo还是spring的,要弄清除,还有就是启动类的包扫描。zookeeper别忘了开