dubbo报错: Error creating bean with name。。。。。

博主在学习Dubbo时遇到消费者测试异常,表现为无法找到服务提供者。问题解决在于需要先启动服务提供者,再运行消费者。这可能是因为服务提供者的信息被缓存,使得消费者在启动时能成功找到。尽管这只是测试环境的行为,但在实际部署中,服务通常分布在不同的服务器上。博主对此现象感到困惑,并寻求解答。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

再学习dubbo时,进行消费者测试的时候,直接报错:上提示:
Exception in thread “main” org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘orderServiceImpl’: Unsatisfied dependency expressed through field ‘userService’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘userService’: FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Failed to check the status of the service com.atguigu.gmall.service.UserService. No provider available for the service com.atguigu.gmall.service.UserService from the url zookeeper://127.0.0.1:2181/com.alibaba.dubbo.registry.RegistryService?application=order-service-consumer&dubbo=2.6.2&interface=com.atguigu.gmall.service.UserService&methods=getUserAddressList&pid=24476&register.ip=192.168.2.2&revision=1.0-SNAPSHOT&s
很奇怪,我的bean并没有出错
后来发现,我在先开启服务者之后,再运行消费者中的mian,居然不报错,:上图:
在这里插入图片描述
再开启消费者:
在这里插入图片描述
虽然乱码,但是显示出来了,很是奇怪啊!!!按道理来说,运行了一个新的consumer之后,前一个mainapplication不是应该中止住吗?为什么我直接与运行不行,必须要先运行provider才可以,???不过在一想也有点理解,也可以理解为provider开启了之后,会被记录下来,再打开consumer后,前一个应用服务,即provider不会被关闭,而是继续与运行,其实我这个只是测试,真正运行中,一般都是不同服务器之间的这样相互调用,再模拟这种情况时,provider不会被关闭??
模模糊糊,希望有大佬可以指教,感激不尽!!!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值