java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot整合Dubbo+ZK注册失败的坑

SpringBoot整合Dubbo+ZK注册失败的坑及解决

作者:wangshili程序员

使用Dubbo框架时,需在公共pom添加依赖,启动类加@EnableDubbo,实现类用@DubboService替代@Service,配置中base-packages存在识别bug,可通过zkCli命令或监控中心验证服务注册状态

1.先看下公共的pom(maven创建的pom工程)

以下必须加

	<dependencies>
	<!--springBoot动态的引入springMVC全部的配置 -->
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>
	<!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-spring-boot-starter -->
	<dependency>
		<groupId>org.apache.dubbo</groupId>
		<artifactId>dubbo-spring-boot-starter</artifactId>
		<version>2.7.7</version>
		<exclusions>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
            </exclusion>
        </exclusions>
	</dependency>
	<!-- https://mvnrepository.com/artifact/org.apache.curator/curator-framework -->
	<dependency>
		<groupId>org.apache.curator</groupId>
		<artifactId>curator-framework</artifactId>
		<version>4.3.0</version>
	</dependency>
	<dependency>
	    <groupId>org.apache.curator</groupId>
	    <artifactId>curator-recipes</artifactId>
	    <version>2.8.0</version>
	</dependency>

</dependencies>

2.启动类上加@EnableDubbo

@EnableDubbo是包括了@EnableDubboConfig

3.实现类上加@DubboService,实现类一定要实现接口

之前的版本是@Service,现在过期变成@DubboService了,也确实是,干嘛要和Spring的Service一样呢

4.坑人的配置

具体看如图片:

这个base-packages是默认提示出来的,结果却是不行的,还不报错,算是一个小bug吧

5.确定zookeeper打开就行了

确认注册成功的方法,可以打开zk的cli,在zk的安装目录下进入到bin目录,打开cmd,执行zkCli.cmd就会连接zk,输入命令ls /可以看到有什么哪些注册服务,输入ls /dubbo就可以看到注册成功的服务,如下图:

第二种方法就是运行监控中心了如下图:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文