spring boot dubbo 配置

一、建3个空工程:

1、建maven工程demo-dubbo-api . 这个是接口工程;

2、建spring boot 的jar 工程 demo-dubbo-provider.   这个是dubbo服务工程;

3、建spring boot 的jar  工程 demo-dubbo-client.     这个是调用dubbo服务的测试工程;


二、

1、在接口工程建:

public interface SayHelloI {
    public String say(String name);
}

2、在服务工程:

  a、配置pom.xml,添加如下

<!-- dubbo 引用 -->
 
<!-- https://mvnrepository.com/artifact/com.alibaba/dubbo -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
</exclusions>
<version>2.5.8</version>
</dependency>
<!--注册中心引用-->

<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.11</version>
</dependency>

<!--注册中心操作客户端,可以去掉-->
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
 
 b、新建文件dubbo-provider.xml .  把

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="${dubbo.application.name}" />
<!-- 注册中心暴露服务地址 -->
   <dubbo:registry protocol="${dubbo.registry.protocol}" address="${dubbo.registry.address}" />
<!-- 暴露服务 -->
<dubbo:protocol name="${dubbo.protocol.name}" port="${dubbo.protocol.port}" />
<dubbo:service interface="com.zivy009.demo3.service.SayHelloI"
ref="sayHelloImp" retries="0" timeout="6000" />
</beans>

c、建文件dubbo.properties

#应用名称
dubbo.application.name=example-provider
#注册中心类型
dubbo.registry.protocol=zookeeper
#注册中心地址
dubbo.registry.address=ip:port,ip:port
#暴露服务方式
dubbo.protocol.name=dubbo
#暴露服务端口
dubbo.protocol.port=20880

d、建配置文件

/**
* @author zivy
* @date 2017年12月19日
* @describe
*/
@Configuration
@PropertySource("classpath:dubbo/dubbo.properties")
@ImportResource({"classpath:dubbo/*.xml"})
public class DubboConfig {
}


e、 实现接口

/**
* @author zivy
* @date 2017年12月19日
* @describe
*/
@org.springframework.stereotype.Service
public class SayHelloImp implements SayHelloI {
    @Override
    public String say(String name) {
        System.out.println(name+" say hello .                         "+ new Date());
        return "ok";
    }
}
 


3、在测试端

a、pom.xml  和服务端一样;

b、配置 文件,建dubbo-consume.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- 提供方应用信息,用于计算依赖关系 -->
  <dubbo:application name="${dubbo.application.name}" />
<!-- 注册中心暴露服务地址 -->
   <dubbo:registry protocol="${dubbo.registry.protocol}" address="${dubbo.registry.address}" />
<dubbo:reference id="sayHelloI" interface="com.zivy009.demo3.service.SayHelloI" />
</beans>


配置文件dubbo.properties

#应用名称
dubbo.application.name=example-consume
#注册中心类型
dubbo.registry.protocol=zookeeper
#注册中心地址
dubbo.registry.address=ip:port


springboot 的入口:

    public static void main(String[] args) {
        ConfigurableApplicationContext configurableApplicationContext=  SpringApplication.run(DemoDubboClientApplication.class, args);
        
        SayHelloI sayHelloI= (SayHelloI)configurableApplicationContext.getBean("sayHelloI");
       }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张洪財

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值