spring cloud stream rabbit 4.0示例
以下是一个使用Spring Cloud Stream与RabbitMQ的简单示例,演示了如何发送和接收消息。
// 生产者
@EnableBinding(Source.class)
public class ProducerApplication {
@Autowired
private SourceChannel output;
public static void main(String[] args) {
SpringApplication.run(ProducerApplication.class, args);
}
@Scheduled(fixedDelay = 1000)
public void sendMessage() {
String message = "Hello, RabbitMQ!";
output.send(MessageBuilder.withPayload(message).build());
System.out.println("Send: " + message);
}
}
// 消费者
@EnableBinding(Sink.class)
public class ConsumerApplication {
@StreamListener(Sink.INPUT)
public void receiveMessage(String payload) {
System.out.println("Received: " + payload);
}
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class, args);
}
}
在这个例子中,我们创建了一个生产者应用程序ProducerApplication
,它定时发送消息到RabbitMQ。我们还创建了一个消费者应用程序ConsumerApplication
,它监听队列并接收并打印出消息。
确保你的application.yml
或application.properties
文件包含正确的RabbitMQ配置,例如:
spring:
cloud:
stream:
bindings:
output:
destination: test-topic
input:
destination: test-topic
rabbit:
bindings:
input:
consumer:
bindingRoutingKey: test-topic
output:
producer:
routingKeyExpression: 'headers[topic]'
在这个配置中,我们指定了输入(input)和输出(output)绑定的目的地(destination),以及RabbitMQ特定的配置。
评论已关闭