package cn.exrick.xboot.your.util;
|
|
import com.rabbitmq.client.Channel;
|
import com.rabbitmq.client.Connection;
|
import com.rabbitmq.client.ConnectionFactory;
|
import com.rabbitmq.client.DeliverCallback;
|
|
public class Recv {
|
private final static String QUEUE_NAME = "5201154049";
|
|
public static void main(String[] argv) throws Exception {
|
ConnectionFactory factory = new ConnectionFactory();
|
factory.setHost("111.63.178.115");
|
factory.setPort(1883);
|
factory.setUsername("artemis_28156526_8SS2BGXE");
|
factory.setPassword("1GVZ2F7C");
|
Connection connection = factory.newConnection();
|
Channel channel = connection.createChannel();
|
//请注意,我们也在这里声明了队列。因为我们可能在发布者之前启动消费者,所以我们希望在尝试使用消息之前确保队列存在。
|
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
|
System.out.println(" [*] Waiting for messages. To exit press CTRL+C");
|
//我们即将告诉服务器从队列中传递消息。因为它会异步地向我们发送消息,
|
// 所以我们以对象的形式提供一个回调,它将缓冲消息,直到我们准备好使用它们。这就是DeliverCallback子类的作用。
|
DeliverCallback deliverCallback = (consumerTag, delivery) -> {
|
String message = new String(delivery.getBody(), "UTF-8");
|
System.out.println(" [x] Received '" + message + "'");
|
};
|
channel.basicConsume(QUEUE_NAME, true, deliverCallback, consumerTag -> { });
|
}
|
}
|