rabbitMQ 消費者ack機制與拉取模式

2021-09-25 04:44:59 字數 851 閱讀 4284

public static void main(string args) throws exception
以下三種根據實際情況使用

long deliverytag = envelope.getdeliverytag();// 訊息序列號

boolean multiple = false; // 是否多條訊息

boolean requeue = false; // 拒絕訊息後是否移除佇列

channel.basicnack(deliverytag, multiple, requeue); // 通過multiple屬性可以拒絕多條訊息

channel.basicack(envelope.getdeliverytag(), multiple); // 接收成功訊息

channel.basicreject(envelope.getdeliverytag(), requeue); // 每次只能拒絕一次訊息

final consumer consumer = new defaultconsumer(channel) 

};boolean autoack = false;

channel.basicconsume(queuename, autoack, consumer);

getresponse response = channel.basicget("dlx.queue", false);

channel.basicack(response .getenvelope() .getdeliverytag() ,false);

消費者手動ack

1.在這裡不提如何整合rabbit mq到spring。2.實現功能的配置都在消費者端 3.下面是步驟和說明 1 在消費者端的mq配置檔案上新增,配置 關鍵 為 acknowledeg manual 意為表示該消費者的ack方式為手動 此時的queue已經和生產者的exchange通過某個route...

rabbitmq直連模式 消費者

pom org.springframework.boot spring boot starter amqp org.springframework.boot spring boot starter web org.springframework.boot spring boot starter te...

RabbitMQ生產者消費者模型

生產者 mport pika connection pika.blockingconnection pika.connectionparameters host 127.0.0.1 建立乙個例項 channel connection.channel 宣告乙個管道 channel.queue decl...