package com.zheng.four;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.ConfirmCallback;
import com.zheng.utils.RabbitMqUtil;
import java.util.UUID;
import java.util.concurrent.ConcurrentNavigableMap;
import java.util.concurrent.ConcurrentSkipListMap;
public class ConfirmMessage {
public static final int MESSAGE_COUNT = 1000;
public static void main(String[] args) throws Exception {
ConfirmMessage.publishMessageAsync();
}
public static void publishMessageAsync() throws Exception {
Channel channel = RabbitMqUtil.getChannel();
//队列的声明
String queuename = UUID.randomUUID().toString();
channel.queueDeclare(queuename, false, false, false, null);
//开启发布确认
channel.confirmSelect();
//线程安全有序的一个hash表 适用于高并发的情况下
//轻松将序号与消息进行关联
//支持高并发
ConcurrentSkipListMap<Long,Object> outstandConfirms = new ConcurrentSkipListMap<>();
//消息确认成功
RabbitMQ的异步处理
最新推荐文章于 2023-10-26 10:35:13 发布
本文深入探讨了RabbitMQ如何在分布式环境中实现异步处理,通过消息队列提高系统的并发能力和可扩展性。介绍了RabbitMQ的基本概念、工作原理,并分享了在实际项目中设置和使用异步任务的案例。
摘要由CSDN通过智能技术生成