项目场景:
例如:项目场景:在学习尚硅谷SpringCloudStream时,连接rabbitMQ无法连接上
问题描述
在学习尚硅谷SpringCloudStream时,连接rabbitMQ无法连接上
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) ~[jersey-apache-client4-1.19.1.jar:1.19.1]
at com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123) ~[jersey-client-1.19.1.jar:1.19.1]
at com.netflix.discovery.EurekaIdentityHeaderFilter.handle(EurekaIdentityHeaderFilter.java:27) ~[eureka-client-1.9.13.jar:1.9.13]
at com.sun.jersey.api.client.Client.handle(Client.java:652) ~[jersey-client-1.19.1.jar:1.19.1]
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682) ~[jersey-client-1.19.1.jar:1.19.1]
at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74) ~[jersey-client-1.19.1.jar:1.19.1]
at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509) ~[jersey-client-1.19.1.jar:1.19.1]
}
原因分析:
- 排查了Linux虚拟的防火墙,已经关闭
- windows上也可以正常访问RabbitMQ的监控页面
解决方案:
1、可能是因为 用户输的guest,guest只允许本地连接,我之前创建过新的用户admin,所以直接换成admin用户,发现还是无法连接
rabbitmq:
host: 192.168.98.132
port: 5672
username: admin
password: admin
virtual-host: /
2、我是加上了新的配置,在cloud:Stream之前加上
application:
name: cloud-stream-provider
rabbitmq:
host: 192.168.98.132
port: 5672
username: admin
password: admin
完整配置(defaultRabbit 爆红可以不用管)
server:
port: 8801
spring:
application:
name: cloud-stream-provider
rabbitmq:
host: 192.168.98.132
port: 5672
username: admin
password: admin
cloud:
stream:
binders: # 在此处配置要绑定的rabbitmq的服务信息;
defaultRabbit: # 表示定义的名称,用于于binding整合
type: rabbit # 消息组件类型
environment: # 设置rabbitmq的相关的环境配置
spring:
rabbitmq:
host: 192.168.98.132
port: 5672
username: admin
password: admin
virtual-host: /
bindings: # 服务的整合处理
myoutput: # 这个名字是一个通道的名称
destination: studyExchange # 表示要使用的Exchange名称定义
content-type: application/json # 设置消息类型,本次为json,文本则设置“text/plain”
binder: defaultRabbit # 设置要绑定的消息服务的具体设置binder
eureka:
client: # 客户端进行Eureka注册的配置
service-url:
defaultZone: http://localhost:7011/eureka
instance:
lease-renewal-interval-in-seconds: 2 # 设置心跳的时间间隔(默认是30秒)
lease-expiration-duration-in-seconds: 5 # 如果现在超过了5秒的间隔(默认是90秒)
instance-id: send-8801.com # 在信息列表时显示主机名称
prefer-ip-address: true # 访问的路径变为IP地址
在学习尚硅谷SpringCloudStream项目中遇到RabbitMQ连接问题,表现为Connection refused。已排除Linux防火墙和Windows访问限制,尝试更换用户和配置均未解决。详细解决方案包括检查用户权限和配置细节。
1332

被折叠的 条评论
为什么被折叠?



