기술나눔

SpringAMQP收发消息demo

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

首先我们需要创建一个微服务的架构,因为一般来讲这个都是在微服务架构下去使用的(当然单体也没什么不好,看qps)

在父项目中我们需要引入amqp的依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-amqp</artifactId>
    </dependency>
</dependencies>

然后选择我们需要的子服务完成消息的首发

首先是消息的发送,使用RabbitTemplate作为消息的发送模版,方法convertAndSend

@SpringBootTest
public class SpringAmqpTest {
    @Autowired
    private RabbitTemplate rabbitTemplate;
    @Test
    void testMsgCaiyiTestQueue(){
        String msg = "this is message from caiyi";
        rabbitTemplate.convertAndSend("cybg_study_queue",msg);
    }
}

然后我们可以创建listener包下的listener类(需要被注册为一个spring的bean)完成消息,通过@RabbitListener

@RabbitListener(queues = "cybg_study_queue")
public void listenQueueMsg(String msg){
    System.out.println("接收到的msg:"+msg);
}

ok,至此完成springAMQP下对于rabbitmq的消息收发