spring-boot 添加rabbitmq
2018-01-24 15:07
417 查看
添加maven依赖
[html] viewplain copy
print?
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
简单实现
配置
在application.properties中增加如下配置[plain] view
plain copy
print?
spring.rabbitmq.addresses=127.0.0.1:5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.publisher-confirms=true
spring.rabbitmq.virtual-host=/
rabbitmq端口说明:5672-amqp,25672-clustering,61613-stomp,1883-mqtt
消息生产者
[java] viewplain copy
print?
package com.rabbitmq.send;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class Sender {
@Autowired
priva
10677
te RabbitTemplate rabbitTemplate;
public void send(String msg) {
this.rabbitTemplate.convertAndSend("foo", msg);
}
}
消息监听者
[java] viewplain copy
print?
package com.rabbitmq.listener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.handler.annotation.Payload;
@Configuration
@RabbitListener(queues = "foo")
public class Listener {
private static final Logger LOGGER = LoggerFactory.getLogger(Listener.class);
@Bean
public Queue fooQueue() {
return new Queue("foo");
}
@RabbitHandler
// @RabbitListener(queues = "foo")
public void process(@Payload String foo) {
LOGGER.info("Listener: " + foo);
}
}
config也可以手动配置
import org.springframework.amqp.rabbit.annotation.EnableRabbit; import org.springframework.amqp.rabbit.annotation.RabbitListenerConfigurer; import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.messaging.converter.MappingJackson2MessageConverter; import org.springframework.messaging.handler.annotation.support.DefaultMessageHandlerMethodFactory; /** * rabbitmq配置 */ @Configuration @EnableRabbit public class RabbitMqConfig implements RabbitListenerConfigurer { @Bean public MappingJackson2MessageConverter jackson2Converter() { MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter(); return converter; } @Bean public DefaultMessageHandlerMethodFactory myHandlerMethodFactory() { DefaultMessageHandlerMethodFactory factory = new DefaultMessageHandlerMethodFactory(); factory.setMessageConverter(jackson2Converter()); return factory; } @Override public void configureRabbitListeners(RabbitListenerEndpointRegistrar registrar) { registrar.setMessageHandlerMethodFactory(myHandlerMethodFactory()); } }
相关文章推荐
- rabbitmq 在springboot框架中添加多个exchange的方法
- spring boot实战(第十四篇)整合RabbitMQ源码分析前言
- java 搭建基于springboot的ssh(spring + springmvc + hibernate)的gradle项目(添加多Module篇)
- 详解Spring Boot 添加JSP支持
- spring boot实战(第十二篇)整合RabbitMQ
- Spring Boot 集成 RabbitMq 实战操作(二)
- springboot 添加job定时任务
- SpringBoot 集成 rabbitmq 简单实现通过队列进行,订单系统与库存系统,物流系统之间的信息交互
- 使用Spring Boot开发Web项目(二)之添加HTTPS支持
- Spring Boot 配置多个RabbitMQ
- springboot学习(二)springboot项目整合前端,添加jsp的访问
- 19. Spring Boot 添加JSP支持【从零开始学Spring Boot】
- springboot 添加静态页面
- 给Spring Boot项目添加actuator监控
- SpringBoot部署到服务器Tomcat添加server.context-path后静态资源、请求等404
- Springboot集成RabbitMQ
- spring boot 应用添加到linux service
- 详解Spring Boot 配置多个RabbitMQ
- spring boot 添加aop功能
- SpringBoot 系列 | 第十篇:使用RabbitMQ收发消息