代码拉取完成,页面将自动刷新
package com.example.mq.demo;
import com.example.mq.common.Consumer;
import com.example.mq.common.MessageQueueException;
import com.example.mq.mqclient.Channel;
import com.example.mq.mqclient.Connection;
import com.example.mq.mqclient.ConnectionFactory;
import com.example.mq.mqserver.core.BasicProperties;
import com.example.mq.mqserver.core.ExchangeType;
import com.sun.jndi.cosnaming.CNCtxFactory;
import java.io.IOException;
/*
* 这个类表示一个消费者.
* 通常这个类也应该是在一个独立的服务器中被执行
*/
public class DemoConsumer {
public static void main(String[] args) throws IOException, MessageQueueException, InterruptedException {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("127.0.0.1");
factory.setPort(9090);
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
channel.exchangeDeclare("test", ExchangeType.DIRECT, false, false, null);
channel.queueDeclare("test", false, false, false, null);
boolean ok = channel.basicConsume("test", true, new Consumer() {
@Override
public void handleDelivery(String consumerTag, BasicProperties basicProperties, byte[] body) throws MessageQueueException, IOException {
System.out.println("[消费数据] 开始!");
System.out.println("consumerTag = " + consumerTag);
System.out.println("messageId = " + basicProperties.getMessageId());
String con = new String(body, 0, body.length);
System.out.println("con = " + con);
System.out.println("[消费数据] 结束!");
}
});
System.out.println(" ok = " + ok);
// 由于消费者也不知道生产者要生产多少, 就在这里通过这个循环模拟一直等待消费.
while (true) {
Thread.sleep(500);
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。