本例子采用自己发送自己消费 就没有弄多个项目了。
MQ使用的是rabbitMQ:可以用docker安装
官网文档地址:
spring cloud streamhttps://docs.spring.io/spring-cloud-stream/docs/current/reference/html/spring-cloud-stream.html#_batch_consumers
本文档代码:springcloudstreamrabbitmq资源-Java文档类资源-CSDN下载
1.pom文件项目引入项目依赖这边展示全部的项目依赖好展示相关的版本
2。生产者代码1.8 2021.0.3 2021.1 org.springframework.cloud spring-cloud-dependencies${spring.cloud.version} pom import com.alibaba.cloud spring-cloud-alibaba-dependencies${spring.cloud.alibaba.version} pom import org.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-starter-testtest org.projectlombok lombokorg.springframework.cloud spring-cloud-streamorg.springframework.cloud spring-cloud-starter-stream-rabbit
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.stream.function.StreamBridge;
import org.springframework.messaging.support.MessageBuilder;
import org.springframework.stereotype.Component;
@Component
public class Producter {
@Autowired
private StreamBridge streamBridge;
public String sendMessage(String meaasge){
streamBridge.send("demoChannel-out-0",
MessageBuilder.withPayload(meaasge).build());
return null;
}
}
3.消费者代码
import java.util.function.Consumer;
@Service
@Slf4j
public class Listener {
@Bean
public Consumer demoChannel() {
return message -> {
log.info("接收消息为:{}", message);
};
}
}
4.yaml配置
spring:
application:
name: demo
rabbitmq:
host: 192.168.116.200
port: 32688
username: admin
password: 123456
cloud:
stream:
bindings:
## 新版本固定格式 channel名字-{out/in}-{index}
demoChannel-out-0:
destination: demoExchange
contentType: application/json
demoChannel-in-0:
destination: demoExchange
contentType: application/json
server:
port: 8081
management:
endpoints:
web:
exposure:
include: "*"
这边贴上官网的解释:
项目启动之后 调用发送消息
查看rabbitMQ
控制台输出



