pom文件添加的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
配置文件配置
spring:
rabbitmq:
host: localhost
port: 5672
username: guest
password: guest
最简单实现生产消息和消费消息
配置类RabbitMqConfig
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RabbitMqConfig {
@Bean
public Queue queue(){
return new Queue("queuedemo",true,false,false);
}
}
生产者生产消息
往队列queuedemo中添加消息
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Component
@RequestMapping("/rabbit")
public class TestRabbitMq {
@Autowired
private AmqpTemplate rabbitTemplate;
@ResponseBody
@RequestMapping("/1")
public String test1(){
rabbitTemplate.convertAndSend("queuedemo","hello world");
return "1";
}
}
调用接口:localhost:7777/rabbit/1
浏览器访问http://localhost:15672/
找到队列queuedemo,点get message,就能找到刚才发送的消息
消费之消费消息
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
@Component
@RabbitListener(queues = "queuedemo")
@Slf4j
public class RabbitMqConsumer {
@RabbitHandler
public void process(String msg){
log.error(msg);
}
}
调用接口:localhost:7777/rabbit/1
可以看到控制台会打印队列中的消息