java rabbitTemplate 发送消息
时间: 2024-12-18 19:07:50 浏览: 14
在Java中,RabbitTemplate是Spring AMQP库提供的一种用于发送消息到RabbitMQ的消息队列的模板类。它封装了底层的AMQP操作,使得开发者可以更方便地发送异步消息。以下是使用RabbitTemplate发送消息的基本步骤:
1. 配置RabbitMQ连接信息:首先需要配置Spring Boot应用与RabbitMQ服务器建立连接,包括设置连接工厂、声明交换机和队列等。
```java
@Configuration
public class RabbitConfig {
@Value("${rabbitmq.host}")
private String host;
@Value("${rabbitmq.port}")
private int port;
@Bean
public ConnectionFactory connectionFactory() {
CachingConnectionFactory factory = new CachingConnectionFactory();
factory.setHost(host);
factory.setPort(port);
return factory;
}
}
```
2. 创建RabbitTemplate实例:通过`@Autowired`自动注入ConnectionFactory,然后创建RabbitTemplate。
```java
@Autowired
private RabbitTemplate rabbitTemplate;
```
3. 发送消息:使用`publishMessage()`方法,传入交换机名、路由键以及消息本身。如果希望异步发送,可以在消息体里包含一个回调方法作为延迟处理。
```java
String exchangeName = "your-exchange-name";
String routingKey = "your-routing-key";
String message = "Your message here";
// 异步发布
rabbitTemplate.convertAndSend(exchangeName, routingKey, message);
// 同步发布(如果有回调)
rabbitTemplate.convertAndSend(exchangeName, routingKey, message, new MessageCallback() {
@Override
public void done(String correlationId, acknowledge acknowledgment) throws Exception {
System.out.println("Message sent with correlation ID: " + correlationId);
}
});
```
阅读全文