RabbitMQ的消息监听代码怎么写
时间: 2023-11-13 08:00:17 浏览: 39
下面是一个使用Java语言编写的RabbitMQ消息监听代码示例:
```java
import com.rabbitmq.client.*;
import java.io.IOException;
import java.util.concurrent.TimeoutException;
public class MessageListener {
private final static String QUEUE_NAME = "my_queue";
public static void main(String[] args) throws IOException, TimeoutException {
// 创建连接工厂
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
factory.setUsername("guest");
factory.setPassword("guest");
// 创建连接
Connection connection = factory.newConnection();
// 创建通道
Channel channel = connection.createChannel();
// 声明队列
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
// 创建消费者
Consumer consumer = new DefaultConsumer(channel) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
String message = new String(body, "UTF-8");
System.out.println("Received message: " + message);
}
};
// 开始监听队列
channel.basicConsume(QUEUE_NAME, true, consumer);
}
}
```
在以上代码中,我们首先创建了一个连接工厂,指定了RabbitMQ服务器的地址、用户名和密码。然后创建连接和通道,并声明了我们要监听的队列。接着,我们创建了一个消费者,重写了`handleDelivery()`方法,该方法会在收到消息时被调用。最后,我们通过`basicConsume()`方法开始监听队列。每当有消息到达队列时,`handleDelivery()`方法就会被调用,我们可以在该方法中对消息进行处理,例如输出到控制台。