关于canal消费者中引入dubbo消费者后调用dubbo接口为null问题

    技术2022-08-11  83

    问题描述:

    原来spring boot 2.x+canal服务引入dubbo服务消费者,配置都配过了,发现dubbo消费者每次请求都是报空指针异常。如下图

    项目结构:

    spring 2.x、canal消费者、kafa集成dubbo消费者服务

    排查如下:

    首先查看引入配置如下:

    引入dubbo包

    <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>0.2.0</version> </dependency>

    在配置文件中配置

    # Base packages to scan Dubbo Components (e.g., @Service, @Reference) dubbo.scan.basePackages= com.xx # Dubbo Config properties dubbo.application.name = canalconsumer ## ProtocolConfig Bean dubbo.protocol.id=dubbo dubbo.protocol.name=dubbo dubbo.protocol.port=29952 dubbo.application.qos-enable=false dubbo.provider.timeout=3000 dubbo.provider.threads=2000 dubbo.registry.protocol=zookeeper dubbo.registry.address=xx

    在application添加dubbo注解

    @SpringBootApplication @EnableDubbo @EnableDubboConfig

    在调用包引入@Reference

     

    @Reference private IPopFlowConfigEsService popFlowConfigEsService;

     

    问题寻找过程:

    首先按照相关的网止尝试

    将配置文件改成dubbo.xml

    将注解改成其他

    ....

    后面发现

    原来dubbo

     

    需要在@@Reference加上版本号

     

    @Reference(version="1.0.0",timeout=5000)

     

    Processed: 0.014, SQL: 9