SpringBoot整合Dubbo-消费者

消费者模式

我用的SpringBoot版本是1.5.7,有点老,公司项目涉及太多,如果换版本依赖关系太难排查了

公共配置-Pom.xml

<dependency>
  <groupId>com.alibaba.spring.boot</groupId>
  <artifactId>dubbo-spring-boot-starter</artifactId>
  <version>2.0.0</version>
  </dependency>
 <dependency>
  <groupId>com.101tec</groupId>
  <artifactId>zkclient</artifactId>
  <version>0.2</version>
</dependency>
<!--接口依赖-->
<dependency>
  <groupId>com.synway.#######</groupId>
  <artifactId>######Service</artifactId>
  <version>1.0</version>
  <scope>system</scope>
  <systemPath>${project.basedir}/src/main/resources/lib/#####Service-1.0.0.jar</systemPath>
</dependency>

一、XML配置方式

配置参数参考

  1. 添加xml配置-comsumer.xml
    <?xml version="1.0" encoding="UTF-8"?>
        <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
        xmlns="http://www.springframework.org/schema/beans"
        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="AssetManage"/>
    <!-- 使用zookeeper注册中心暴露服务地址 -->
    <dubbo:registry address="zookeeper://10.1.9.161:2181"/>
    <!-- 生成远程服务代理,可以与本读bean一样使用  check属性,启动时是否检查,一般设置false 启动时候不检查 group属性,如果有分组必须指定或者以*代替,否则无法调用接口 -->
    <dubbo:reference id="organUserService" check="false" interface="com.synway.portalinterface.dubbo.organuser.OrganUserService"
    group = "PortalInterfaceService"  timeout="3000"/>
    </beans>
    
  2. 接口使用
    @RestController
    public class UserController
    {
        @GetMapping("/users")
        public ResultBean getAllUsers()
        {
            ClassPathXmlAplicationContext context=new ClassPathXmlAplicationContext(new String[]{"comsumer.xml"});
            context.start();
            UserService userService=context.getBean(UserService.class);
            return ResultBean.success(userService.getAllUsers);
        }
    }
    

二、注解配置方式-推荐

  1. application.properties配置
    #消费方应用服务,用于计算依赖关系,不是匹配条件,不要与提供方名称一样
    spring.dubbo.application.name=AssetmManage
    #使用zookeeper注册中心暴露服务地址
    spring.dubbo.registry.address=zookeeper://10.1.9.161:2181
    
  2. Reference
    //Spring注解
    @Service
    public class UserServiceImpl implement UserService
    {
        //dubbo注解
        //如果支持方有分组消费者调用必须指定分组,也可用*代替
        @Refrenece(check=false,timeout=3000,group="PortalInterfaceService")
        prvite OrganService organService;
    
        @Override
        public String getDepts()
        {
            return organService.getDepts();
        }
    }
    
  3. Springboot启动设置
    @SpringBootApplication
    @EnableScheduling
    @EnableDubboConfiguration
    public class demoComsumer extends SpringBootServletInitializer
    {
        public static void main(String[] args)
        {
            SptingBootApplication.run(demoComsumer.class,args);
        }
    }
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容