集成RabbitMQ与MQ常用操作指南🐰⚡️
RabbitMQ作为一款开源消息代理软件,在企业级应用中广泛使用。下面介绍如何集成RabbitMQ以及常用操作。
1.RabbitMQ集成步骤📦
首先需要添加RabbitMQ的Java客户端依赖:
```java
//Maven依赖
com.rabbitmq
amqp-client
5.12.0
```
然后创建连接工厂和连接:
```java
ConnectionFactoryfactory=newConnectionFactory();
factory.setHost("localhost");//RabbitMQ服务器地址
factory.setUsername("guest");//用户名
factory.setPassword("guest");//密码
Connectionconnection=factory.newConnection();
Channelchannel=connection.createChannel();
```
2.常用MQ操作🛠️
2.1声明队列
```java
//声明一个持久化队列
channel.queueDeclare("my_queue",true,false,false,null);
```
2.2发送消息
```java
Stringmessage="HelloRabbitMQ!";
channel.basicPublish("","my_queue",null,message.getBytes());
System.out.println("[x]Sent'"+message+"'");
```
2.3消费消息
```java
DeliverCallbackdeliverCallback=(consumerTag,delivery)->{
Stringmessage=newString(delivery.getBody(),"UTF-8");
System.out.println("[x]Received'"+message+"'");
};
channel.basicConsume("my_queue",true,deliverCallback,consumerTag->{});
```
2.4消息确认
```java
//关闭自动确认,手动确认消息
channel.basicConsume("my_queue",false,deliverCallback,consumerTag->{});
//在处理完消息后手动确认
channel.basicAck(delivery.getEnvelope().getDeliveryTag(),false);
```
3.高级特性✨
3.1交换机使用
```java
//声明直连交换机
channel.exchangeDeclare("direct_logs","direct");
//绑定队列到交换机
channel.queueBind("my_queue","direct_logs","info");
//发布消息到交换机
channel.basicPublish("direct_logs","info",null,message.getBytes());
```
3.2消息TTL设置
```java
Mapargs=newHashMap<>();
args.put("x-message-ttl",60000);//60秒TTL
channel.queueDeclare("my_ttl_queue",false,false,false,args);
```
总结🎯
RabbitMQ提供了强大的消息队列功能,通过简单的API即可实现消息的发布、订阅和确认。合理使用交换机、队列绑定和消息属性,可以构建灵活可靠的消息系统。记得在使用完毕后关闭连接:
```java
channel.close();
connection.close();
```
希望这篇指南能帮助你快速上手RabbitMQ!🚀
RabbitMQ作为一款开源消息代理软件,在企业级应用中广泛使用。下面介绍如何集成RabbitMQ以及常用操作。
1.RabbitMQ集成步骤📦
首先需要添加RabbitMQ的Java客户端依赖:
```java
//Maven依赖
com.rabbitmq
amqp-client
5.12.0
```
然后创建连接工厂和连接:
```java
ConnectionFactoryfactory=newConnectionFactory();
factory.setHost("localhost");//RabbitMQ服务器地址
factory.setUsername("guest");//用户名
factory.setPassword("guest");//密码
Connectionconnection=factory.newConnection();
Channelchannel=connection.createChannel();
```
2.常用MQ操作🛠️
2.1声明队列
```java
//声明一个持久化队列
channel.queueDeclare("my_queue",true,false,false,null);
```
2.2发送消息
```java
Stringmessage="HelloRabbitMQ!";
channel.basicPublish("","my_queue",null,message.getBytes());
System.out.println("[x]Sent'"+message+"'");
```
2.3消费消息
```java
DeliverCallbackdeliverCallback=(consumerTag,delivery)->{
Stringmessage=newString(delivery.getBody(),"UTF-8");
System.out.println("[x]Received'"+message+"'");
};
channel.basicConsume("my_queue",true,deliverCallback,consumerTag->{});
```
2.4消息确认
```java
//关闭自动确认,手动确认消息
channel.basicConsume("my_queue",false,deliverCallback,consumerTag->{});
//在处理完消息后手动确认
channel.basicAck(delivery.getEnvelope().getDeliveryTag(),false);
```
3.高级特性✨
3.1交换机使用
```java
//声明直连交换机
channel.exchangeDeclare("direct_logs","direct");
//绑定队列到交换机
channel.queueBind("my_queue","direct_logs","info");
//发布消息到交换机
channel.basicPublish("direct_logs","info",null,message.getBytes());
```
3.2消息TTL设置
```java
Mapargs=newHashMap<>();
args.put("x-message-ttl",60000);//60秒TTL
channel.queueDeclare("my_ttl_queue",false,false,false,args);
```
总结🎯
RabbitMQ提供了强大的消息队列功能,通过简单的API即可实现消息的发布、订阅和确认。合理使用交换机、队列绑定和消息属性,可以构建灵活可靠的消息系统。记得在使用完毕后关闭连接:
```java
channel.close();
connection.close();
```
希望这篇指南能帮助你快速上手RabbitMQ!🚀
RabbitMQ集成与常用操作
50万+

被折叠的 条评论
为什么被折叠?



