安装
docker run -d --hostname my-rabbit --name rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password rabbitmq:management-alpine
实战
-
依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> -
配置
spring: rabbitmq: host: localhost port: 5672 username: user password: password@Configuration public class RabbitConfig { /** * 配置消息转换器 * * @return */ @Bean public MessageConverter messageConverter() { return new Jackson2JsonMessageConverter(); } /** * 声明一个队列 * * @return */ @Bean public Queue myQueue() { return new Queue("0721"); } } -
demo
@Service @Slf4j public class RabbitMQService { private static final String QUEUE_NAME = "0721"; @Autowired private RabbitTemplate rabbitTemplate; /** * 发送消息 * * @param order */ public void sendOrder(Order order) { rabbitTemplate.convertAndSend(QUEUE_NAME, order); log.info("已发送订单:{}", order); } /** * 拉取模式 * * @return */ public Order receiveOrder() { Order order = (Order) rabbitTemplate.receiveAndConvert(QUEUE_NAME); log.info("收到订单:{}", order); return order; } /** * 推送模式 * * @param order */ @RabbitListener(queues = QUEUE_NAME) public void receiveOrder(Order order) { log.info("收到订单:{}", order); } }