diff --git a/src/main/java/cn/hezhaohui/mq/Consume.java b/src/main/java/cn/hezhaohui/mq/Consume.java new file mode 100644 index 0000000..5936da3 --- /dev/null +++ b/src/main/java/cn/hezhaohui/mq/Consume.java @@ -0,0 +1,30 @@ +package cn.hezhaohui.mq; + +import com.rabbitmq.client.Channel; +import com.rabbitmq.client.Connection; +import com.rabbitmq.client.ConnectionFactory; +import com.rabbitmq.client.DeliverCallback; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.concurrent.TimeoutException; + +public class Consume { + private static final String EXCHANGE_NAME = "logs"; + + public static void main(String[] args) throws IOException, TimeoutException { + ConnectionFactory factory = new ConnectionFactory(); + Connection connection = factory.newConnection(); + Channel channel = connection.createChannel(); + + channel.exchangeDeclare(EXCHANGE_NAME, "fanout"); + String queueName = channel.queueDeclare().getQueue(); + channel.queueBind(queueName, EXCHANGE_NAME, ""); + + DeliverCallback deliverCallback = (consumerTag, delivery) -> { + String message = new String(delivery.getBody(), StandardCharsets.UTF_8); + System.out.println("[Receive] " + message); + }; + channel.basicConsume(queueName, true, deliverCallback, consumerTag -> {}); + } +}