遇到一个很操蛋的问题.
spring cloud简单集成 stream
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web-services</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
启动,
配置文件
spring:
application:
name: demox-service
index: ${spring.application.name}
rabbitmq:
host: 192.168.0.100
port: 5672
username: username
password: 111111
virtual-host: /test-config
然后发现日志没有错误,但是mq页面就是没有连接
2018-01-29 18:27:44.615 INFO 64502 --- [ main] com.ex.DemoApplication : No active profile set, falling back to default profiles: default
2018-01-29 18:27:44.619 INFO 64502 --- [ main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@703e8050: startup date [Mon Jan 29 18:27:44 CST 2018]; parent: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@26abb146
2018-01-29 18:27:44.715 INFO 64502 --- [ main] o.s.c.support.GenericApplicationContext : Refreshing org.springframework.context.support.GenericApplicationContext@120df990: startup date [Mon Jan 29 18:27:44 CST 2018]; root of context hierarchy
2018-01-29 18:27:44.755 INFO 64502 --- [ main] com.ex.DemoApplication : Started DemoApplication in 0.19 seconds (JVM running for 6.374)
2018-01-29 18:27:44.831 INFO 64502 --- [ main] c.s.b.r.p.RabbitExchangeQueueProvisioner : declaring queue for inbound: input.anonymous.1b2x3VJNTNmoFKA7NoJyiQ, bound to: input
2018-01-29 18:27:57.637 WARN 64502 --- [ main] o.s.amqp.rabbit.core.RabbitAdmin : Failed to declare exchange: Exchange [name=input, type=topic, durable=true, autoDelete=false, internal=false, arguments={}], continuing... org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused (Connection refused)
2018-01-29 18:27:57.638 WARN 64502 --- [ main] o.s.amqp.rabbit.core.RabbitAdmin : Failed to declare queue: Queue [name=input.anonymous.1b2x3VJNTNmoFKA7NoJyiQ, durable=false, autoDelete=true, exclusive=true, arguments={}], continuing... org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused (Connection refused)
2018-01-29 18:27:57.642 WARN 64502 --- [ main] o.s.amqp.rabbit.core.RabbitAdmin : Failed to declare binding: Binding [destination=input.anonymous.1b2x3VJNTNmoFKA7NoJyiQ, exchange=input, routingKey=#], continuing... org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused (Connection refused)
2018-01-29 18:27:57.677 INFO 64502 --- [ main] o.s.i.a.i.AmqpInboundChannelAdapter : started inbound.input.anonymous.1b2x3VJNTNmoFKA7NoJyiQ
然后仔细看日志:
Failed to declare exchange,出现一堆的Failed.
进入他的源代码调试一下 AmqpConnectException
原来配置文件没有读取正确.坑死人了.
加入config依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
然后就能正常读取配置,连接mq就成功了...