From e477ad36ba7e7deaf0b2356cf921b84e88c62a86 Mon Sep 17 00:00:00 2001 From: Wonder Date: Tue, 14 Oct 2025 23:02:41 +0800 Subject: [PATCH] =?UTF-8?q?=20=F0=9F=94=84Update:=20=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E7=94=9F=E4=BA=A7=E8=80=85=E5=92=8C=E6=B6=88=E8=B4=B9=E8=80=85?= =?UTF-8?q?=E9=AA=A8=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- pom.xml | 11 ++++++++ .../java/cn/hezhaohui/rabbitmq/Message.java | 11 ++++++++ .../hezhaohui/rabbitmq/MessageConsumer.java | 21 ++++++++++++++ .../hezhaohui/rabbitmq/MessageProducer.java | 25 +++++++++++++++++ .../cn/hezhaohui/rabbitmq/RabbitMQTest.java | 28 +++++++++++++++++++ 6 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 src/main/java/cn/hezhaohui/rabbitmq/Message.java create mode 100644 src/main/java/cn/hezhaohui/rabbitmq/MessageConsumer.java create mode 100644 src/main/java/cn/hezhaohui/rabbitmq/MessageProducer.java create mode 100644 src/test/java/cn/hezhaohui/rabbitmq/RabbitMQTest.java diff --git a/.gitignore b/.gitignore index 757fee3..082df39 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -/.idea \ No newline at end of file +/.idea +target \ No newline at end of file diff --git a/pom.xml b/pom.xml index ce59954..d7caee9 100644 --- a/pom.xml +++ b/pom.xml @@ -29,6 +29,17 @@ org.springframework.boot spring-boot-starter-amqp + + + org.projectlombok + lombok + provided + + + + org.springframework.boot + spring-boot-starter-test + diff --git a/src/main/java/cn/hezhaohui/rabbitmq/Message.java b/src/main/java/cn/hezhaohui/rabbitmq/Message.java new file mode 100644 index 0000000..4d942f5 --- /dev/null +++ b/src/main/java/cn/hezhaohui/rabbitmq/Message.java @@ -0,0 +1,11 @@ +package cn.hezhaohui.rabbitmq; + +import lombok.Data; + +/** + * 消息实体类 + */ +@Data +public class Message { + private String content; +} diff --git a/src/main/java/cn/hezhaohui/rabbitmq/MessageConsumer.java b/src/main/java/cn/hezhaohui/rabbitmq/MessageConsumer.java new file mode 100644 index 0000000..737ef3e --- /dev/null +++ b/src/main/java/cn/hezhaohui/rabbitmq/MessageConsumer.java @@ -0,0 +1,21 @@ +package cn.hezhaohui.rabbitmq; + +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.stereotype.Component; + +/** + * 消息消费者 + */ +@Component +public class MessageConsumer { + + // TODO: 实现消息监听方法 + // TODO: 定义队列名称常量 + // TODO: 可能需要添加日志记录 + + @RabbitListener(queues = "test.queue") + public void receiveMessage(Message message) { + // TODO: 实现消息处理逻辑 + } +} diff --git a/src/main/java/cn/hezhaohui/rabbitmq/MessageProducer.java b/src/main/java/cn/hezhaohui/rabbitmq/MessageProducer.java new file mode 100644 index 0000000..a600484 --- /dev/null +++ b/src/main/java/cn/hezhaohui/rabbitmq/MessageProducer.java @@ -0,0 +1,25 @@ +package cn.hezhaohui.rabbitmq; + +import jakarta.annotation.Resource; +import lombok.Data; +import org.springframework.amqp.core.AmqpTemplate; +import org.springframework.stereotype.Component; + +/** + * 消息生产者 + */ +@Component +@Data +public class MessageProducer { + + @Resource + private AmqpTemplate amqpTemplate; + + // TODO: 实现发送消息的方法 + // TODO: 定义队列名称常量 + // TODO: 可能需要添加日志记录 + + public void sendMessage(Message message) { + // TODO: 实现发送逻辑 + } +} diff --git a/src/test/java/cn/hezhaohui/rabbitmq/RabbitMQTest.java b/src/test/java/cn/hezhaohui/rabbitmq/RabbitMQTest.java new file mode 100644 index 0000000..173c492 --- /dev/null +++ b/src/test/java/cn/hezhaohui/rabbitmq/RabbitMQTest.java @@ -0,0 +1,28 @@ +package cn.hezhaohui.rabbitmq; + +import jakarta.annotation.Resource; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +public class RabbitMQTest { + + @Resource + private MessageProducer messageProducer; + + @Test + public void testSendMessage() { + // TODO: 实现生产者发送消息的测试 + // 1. 创建测试消息对象 + // 2. 调用messageProducer.sendMessage()方法 + // 3. 验证消息是否成功发送 + } + + @Test + public void testReceiveMessage() { + // TODO: 实现消费者接收消息的测试 + // 1. 发送测试消息到队列 + // 2. 等待消息被消费 + // 3. 验证消息内容是否正确 + } +}