集成RabbitMQ+MQ常用操作

RabbitMQ集成与常用操作
集成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!🚀
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值