您的位置:首页 > 编程语言 > Java开发

springboot+dubbo 生产者(提供者)

2018-03-22 19:46 302 查看
需要的工具:
链接:   https://pan.baidu.com/s/1Mwv-vI2Tp73A1eAN4xNo-w
密码:rj1i
配置zookeeper,百度下,内容主要是配置data和log的输出路径以及zookeeper的路径。
dubbo-admin.war,放在本地启动的tomcat的webapp下,直接启动。这边dubbo-admin是需要jdk1.7才能正常启动,否则会报错,报错原因是dubbo-admin中引入的spring的版本太低。可以百度下怎么解决。个人原本是1.8的环境后来配置了1.7的环境,不过使用idea能随意切换本机拥有的jdk,所以下面的代码也是直接用1.8启动,电脑的环境变量是1.7。
dubbo-admin登录问题:
在web-inf下的dubbo.properties文件配置账户密码,以及zookeeper的地址:
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root

dubbo.admin.guest.password=guest
坑人的是这边其实是两个账户,一个是root,密码是root;一个是guest,密码是guest。而且我这边只能用guest登录。dubbo-admin的作用是能看见生成者和消费者。其实数量少的话,在zookeeper中就能看见,不想配置的同学可以不启动dubbo-admin。
下面是介绍生产者的流程:
idea新建一个Springboot的web项目。


然后在引入dubbo相关的jar包。
<dependency>
<groupId>io.dubbo.springboot</groupId>
<artifactId>spring-boot-starter-dubbo</artifactId>
<version>1.0.0</version>
</dependency>

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.6</version>
</dependency>
配置application.properties.
## Dubbo 服务提供者配置
spring.dubbo.application.name=springbootProvider #服务的命名
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181 #在本地的端口为2181的zookeeper上进行注册
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880  #服务的端口号
spring.dubbo.scan=com.example.demo.service #这边是需要扫描的包
创建需要所谓服务的接口service以及实体类 impl。
sevice:
public interface DubboTest {
public String test();
}
impl:
@Service
public class DubboTestImpl implements DubboTest{

@Override
public String test() {
return "123";
}
}


创建实体类impl后,添加service标签,这个service表示是dubbo引入的,不是springMVC的标签,具体为:
importcom.alibaba.dubbo.config.annotation.Service;创建完之后的目录结构:



到这边,项目的配置已经结束。启动springboot项目,在zookeeper中注册提供服务的生产者。
我在这边遇到的坑,十分重要:
1.springboot启动的端口不能冲突,很容易和启动dubbo-admin的tomcat产生8080(默认)冲突,这边改下springboot的端口;
2.服务端口冲突,就是生产者dubb个人的端口也会和当前电脑中的其他服务的端口差生冲突;
3.springboot继承父类的版本太高,导致springboot在启动后,一直报找不到log4j的日志报,这边我之前引入的这个包,但是没有什么用处,可能和springboot自带的日志logback冲突。冲突的父类引用:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
解决的办法是将maven引入的springboot手动改低版本。改动后:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>这边引入的父类版本 还是注意下,我个人引入的是1.5.0(这个版本肯定试用),最好是1.5.+版本以上,少于2.0。之前遇见过低版本的忘记产生了什么问题,也麻烦了我本人好久的时间。
再次启动,在zookeeper中可以看见启动的结果:



项目下载的地址,码云:https://gitee.com/zwfazt/springboot_dubbo.git
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  springboot dubbo 生产者