Spring Boot2.2.x之spring-cloud-stream入门
binder采用rabbit进行讲解
首选引入maven依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-rabbit</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
</dependency>
然后在application.properties加入以下配置
spring.cloud.stream.binders.local_rabbit.type=rabbit
spring.cloud.stream.binders.local_rabbit.environment.spring.rabbitmq.addresses=192.168.0.129:5671,192.168.0.129:5672,192.168.0.129:5673
spring.cloud.stream.binders.local_rabbit.environment.spring.rabbitmq.username=guest
spring.cloud.stream.binders.local_rabbit.environment.spring.rabbitmq.password=guest
spring.cloud.stream.bindings.inputTest.destination=push-exchange
spring.cloud.stream.bindings.inputTest.binder=local_rabbit
spring.cloud.stream.bindings.inputTest.group=demo
#启用死信队列,默认会生成一个DLX EXCHANGE,当消息重复消费失败后
spring.cloud.stream.rabbit.bindings.inputTest.consumer.auto-bind-dlq=true
#默认false,只能抛AmqpRejectAndDontRequeueException消息才能到死信队列,如果为true,所有错误消息都会抛到死信队列
spring.cloud.stream.rabbit.bindings.inputTest.consumer.requeue-rejected=false
spring.cloud.stream.bindings.outputTest.destination=push-exchange
spring.cloud.stream.bindings.outputTest.binder=local_rabbit
spring.cloud.stream.bindings.outputTest.group=demo
配置说明:
- spring.cloud.stream.binders.local_rabbit.type=rabbit 我们定义了一个名称为local_rabbit,类型为rabbit 的binder。当然我们可以指定多个binder
- spring.cloud.stream.binders.local_rabbit.environment.spring.rabbitmq.addresses 我们单独设定每个binder的环境变量(连接地址,登录名,密码等等 environment后面的变量兼容springboot配置写法 )