您的当前位置:首页正文

rabbitMq实现已读消息和未读消息的查询

来源:好兔宠物网
rabbitMq实现已读消息和未读消息的查询

//进⾏链接常见

// xfRabbitTemplate ⾃定义的链接创建类

Channel channel = xfRabbitTemplate.getChannel();

//消费者定义

channel.queueDeclare(Queue.TEXT_MESSAGE, true, false, false, null); //从队列中检索消息

GetResponse result = channel.basicGet(Queue.TEXT_MESSAGE, true); //获取当前队列中消息的消息体 byte[] body = result.getBody(); //获取当前消息数据个数 result.getMessageCount();

//获取当前队列要交给消费者的消息

channel.messageCount(Queue.TEXT_MESSAGE); //进⾏队列消息和传递消息进⾏ if(body.equals(message)) { //进⾏消费标记

channel.basicAck(result.getEnvelope().getDeliveryTag(), false); result.getEnvelope().getDeliveryTag();

//创建消费者

System.out.println(\"== body \" + body + \"msdg = \" + message); }

/**

* 获取已经被ack之后的消息(已读):

* autoAck 默认为 false 没有给消费者查看,消费者查询则为true * 当前查询没有被阅读的消息 */

GetResponse outChan = channel.basicGet(Queue.TEXT_MESSAGE, false); if(outChan != null) {

infos.add(outChan.getBody().toString());

因篇幅问题不能全部显示,请点此查看更多更全内容