RabbitMQ的安装不在此赘述,想了解的可以参考:Spring Boot中使用RabbitMQ
1、新建一个spring-boot工程,本示例命名为:spring-boot-rabbitmq-demo
2、在pom.xml中引入amqp
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>
3、在application.properties中配置rabbitmq
spring.application.name=spring-boot-rabbitmq-demo spring.rabbitmq.host=127.0.0.1 spring.rabbitmq.port=5672 spring.rabbitmq.username=guest spring.rabbitmq.password=guest spring.rabbitmq.listener.simple.concurrency=10
4、配置RabbitMQ的队列和消息转换器
package com.huatech.config; import org.springframework.amqp.core.Queue; import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory; import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; import org.springframework.amqp.support.converter.MessageConverter; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class RabbitConfig { @Bean public Queue helloQueue() { return new Queue("user"); } @Bean public MessageConverter messageConverter() { return new Jackson2JsonMessageConverter(); } @Bean public SimpleRabbitListenerContainerFactory containerFactory(SimpleRabbitListenerContainerFactory factory) { factory.setMessageConverter(messageConverter()); return factory; } @Bean public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) { RabbitTemplate template = new RabbitTemplate(connectionFactory); template.setMessageConverter(messageConverter()); return template; } }
5、消息生产者UserSender
package com.huatech.rabbit; import java.util.Date; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.huatech.domain.User; @Component public class UserSender { @Autowired private RabbitTemplate rabbitTemplate; public void send() { for (int i = 0; i < 100; i++) { User user = new User(); user.setCreateTime(new Date()); user.setEmail("lihua_java@163.com"); user.setId(11L); user.setRemark("remark"); user.setUsername("lihua"); System.out.println("Sender : " + user.toString()); this.rabbitTemplate.convertAndSend("user", user); } } }
6、消息消费者UserReceiver
package com.huatech.rabbit; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; import com.huatech.domain.User; @Component @RabbitListener(queues = "user", containerFactory = "containerFactory") public class UserReceiver { @RabbitHandler public void process(User user) { System.out.println("Receiver : " + user.toString()); } }
7、测试
package com.huatech; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import com.huatech.rabbit.UserSender; @RunWith(SpringRunner.class) @SpringBootTest public class ApplicationTests { @Autowired private UserSender sender; @Test public void testUser() throws Exception { sender.send(); Thread.sleep(5000); } }
相关推荐
Spring Boot 集成各种框架 使用案例(spring-boot-rabbitmq、spring-boot-mail、spring-boot-thymeleaf、spring-boot-shiro)
spring-boot-examples-master示例程序,与各种框架集成,包括: dockercompose-springboot-mysql-nginx spring-boot-actuator spring-boot-banner spring-boot-docker spring-boot-elasticsearch spring-boot-...
- [spring-boot-rabbitmq](https://github.com/ityouknow/spring-boot-examples/tree/master/spring-boot-rabbitmq):Spring Boot 和 Rabbitmq 各种消息应用案例 - [spring-boot-scheduler]...
介绍Spring Cloud Stream与RabbitMQ集成的代码示例。Spring Cloud Stream是一个建立在Spring Boot和Spring Integration之上的框架,有助于创建事件驱动或消息驱动的微服务。
Spring WebSockets 支持 STOMP 协议并与 RabbitMQ 集成,用于在 UI 上显示实时信息。 Spring Boot 用于打包整个应用程序 要运行应用程序,首先设置 rabbitmq 并添加 stomp 插件 然后可以使用以下命令启动应用程序...
Spring Boot 与 Spring Cloud 开发,并集成 Spring Cloud Kubernetes,为微服务提供原生支持的服务发现与配置管理 单点登录支持 React 编写前端组件,实现前后的分离 使用 MinIO、CockroachDB、Redis、RabbitMQ 服务...
springboot集成RabbitMQ非常简单,如果只是简单的使用配置非常少,springboot提供了spring-boot-starter-amqp项目对消息各种支持。下面通过本文给大家介绍下spring boot整合RabbitMQ(Direct模式),需要的朋友可以...
java8 集合源码分析 说明 spring-boot-notes 用于记录学习、使用 ...rabbitmq-consumer-demo:rabbitmq消费者示例 rabbitmq-provider-demo:rabbitmq生产者示例 E.tools 一些常用功能框架的使用示例。
testcontainers-spring-boot:用于基于spring-boot的集成测试的容器自动配置
项目打包(同时处理项目所依赖的包)mvn clean install -pl emily-spring-boot-starter -am或./mvnw clean install -pl emily-spring-boot-starter -am参数全程说明-pl--projects选项后可跟随{groupId}:{artifactId}...
spring-boot-group(springboot集成各种中间件)1、spring boot集成RabbitMQ
该项目中使用的技术 ...$ git clone https://github.com/jorgeacetozi/ebook-chat-app-spring-websocket-cassandra-redis-rabbitmq.git 输入存储库目录: $ cd ebook-chat-app-spring-websocket-cass
主要给大家介绍了关于spring boot集成rabbitmq的相关资料,springboot集成RabbitMQ非常简单,文中通过示例代码介绍的非常详细,需要的朋友们可以参考借鉴,下面随着小编来一起学习学习吧。
springboot集成rabbitmq,分模块开发。
- Spring Boot 集成 消息队列,包括 kafka、rabbitmq、activemq、rocketmq、redismq - springboot-auth - Spring Boot 权限认证,包括 Apache Shiro、Spring Security - springboot-cloud - Spring Cloud ...
spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 63 个集成demo,已经完成 52 个。 该项目已成功集成 actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求...
NULL 博文链接:https://dwj147258.iteye.com/blog/2430847
该项目已成功集成batis-aop(AOP自定义多数据源)、multi-datasource-mybatis(使用Mybatis集成多数据源)、quartz(定时任务)、rabbitmq-access(Rabbitmq手动确认模式)、rabbitmq-availability(RabbitMQ消息100%可靠性...
mysql需开启binlog 查看是否开启binlog ...3.3 rabbitmq配置 在virtualHost:/ 下新增Exchanges: canal.exchange 新增队列:test.queue, 绑定canal.queue, RoutingKey:canal.routing.key canal下载及配置 ...