spring boot集成rabbitmq
来源:互联网 发布:紫金桥软件 编辑:程序博客网 时间:2024/04/30 15:54
一。在windows下安装rabbitmq
1.下载 http://www.rabbitmq.com/install-windows.html
安装时会提示如果没有erl
2.添加用户
在操作之前需要起停服务用如下命令
net stop RabbitMQ && net start RabbitMQ
注意需要用管理员打开cmd窗口,否则执行不了
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.9\sbin>rabbitmqctl.bat add_user geffzhang yaojinquan
Creating user "geffzhang" ...
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.9\sbin>rabbitmqctl.bat list_users
Listing users ...
geffzhang []
guest [administrator]
3.赋予权限
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.9\sbin>rabbitmqctl.bat set_user_tags geffzhang administrator
Setting tags for user "geffzhang" to [administrator] ...
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.9\sbin>rabbitmqctl.bat set_permissions -p / geffzhang ".*" ".*" ".*"
Setting permissions for user "geffzhang" in vhost "/" ...
浏览器输入 http://localhost:15672 用刚刚创建的用户名密码即可进入监控界面
二。spring boot 编码
1.pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>springboot-rocketmq-test</groupId> <artifactId>springboot-rocketmq-test</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>springboot-rocketmq-test Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>1.4.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <version>1.4.1.RELEASE</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <version>1.4.1.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <version>1.4.1.RELEASE</version> </dependency> <!-- rabbitmq --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> <version>1.3.1.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> </dependency> <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>springboot-rocketmq-test</finalName> </build> </project>
2.application.properties
spring.rabbitmq.host=127.0.0.1 spring.rabbitmq.port=5672 spring.rabbitmq.username=geffzhang spring.rabbitmq.password=yaojinquan
RabbitConfig.java
package rocketmq.test; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.amqp.core.Queue; @Configuration public class RabbitConfig { @Bean public Queue Queue() { return new Queue("yaojinquan"); } }
HelloSender.java
package rocketmq.test; import java.util.Date; import org.springframework.amqp.core.AmqpTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class HelloSender { @Autowired private AmqpTemplate rabbitTemplate; public void send() { String context = "hello " + new Date(); System.out.println("Sender : " + context); this.rabbitTemplate.convertAndSend("yaojinquan", context); } }
HelloReceiver.java
package rocketmq.test; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; @Component @RabbitListener(queues = "yaojinquan") public class HelloReceiver { @RabbitHandler public void process(String hello) { System.out.println("Receiver : " + hello); } }
Application.java
package rocketmq.test; 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.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) { RabbitTemplate template = new RabbitTemplate(connectionFactory); template.setMessageConverter(new Jackson2JsonMessageConverter()); return template; } @Bean public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(ConnectionFactory connectionFactory) { SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); factory.setConnectionFactory(connectionFactory); factory.setMessageConverter(new Jackson2JsonMessageConverter()); return factory; } }
Test
package rocketmq.test; 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; @RunWith(SpringRunner.class) @SpringBootTest public class RabbitMqHelloTest { @Autowired private HelloSender helloSender; @Test public void hello() throws Exception { helloSender.send(); } }
0 0
- spring-boot 集成 rabbitmq
- Spring boot集成RabbitMQ
- spring boot集成rabbitmq
- Spring Boot RabbitMQ 集成
- spring-boot 集成 rabbitmq
- Spring Boot 集成RabbitMQ
- Spring Boot 集成RabbitMQ
- spring-boot 集成 rabbitmq
- rabbitMQ和spring boot集成
- Spring Boot (十三)集成RabbitMQ
- Spring Boot 集成RabbitMQ入门Demo
- Spring Boot (十三)集成RabbitMQ
- 85. Spring Boot集成RabbitMQ【从零开始学Spring Boot】
- spring boot Rabbitmq集成,延时消息队列实现
- RabbitMq在spring boot中集成和应用
- spring boot+RabbitMQ
- SPRING BOOT+ELASTICSEARCH+RABBITMQ
- Spring Boot RabbitMQ Exchange
- android Apk打包过程概述
- 4849: [Neerc2016]Mole Tunnels
- Java Day02-1
- hdu 2016 数据的交换输出
- JavaScript面向对象(一)基础详解及封装
- spring boot集成rabbitmq
- Java多线程/并发07、Thread.Join()让调用线程等待子线程
- hadoop2.7.2学习笔记02-启动集群
- 整数用逗号隔开
- C#中的特性和反射
- C语言中获取时间记录
- React-native滑动屏幕软键盘消失
- MySQL打卡Day1-软件安装
- Android性能优化-内存泄漏(一)