首先部署阿里云和在windows差不多的,要部署windows可以查看我的上一篇博文:
这里: https://blog.csdn.net/Fekerkk/article/details/108132513.
首先我创建了这样一条路径的文件夹usr/loacl/rabbitMQ
第一步要下载erlang
yum install -y erlang
下载好后在命令行输入
erl
有反应则说明下载好了(你懂的)
接下来是下载安装安装RabbitMQ
我在usr/loacl/rabbitMQ文件夹下下载
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz
然后解压
xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz
tar xvf rabbitmq-server-generic-unix-3.6.15.tar
接下来配置环境变量
vi /etc/profile
在文件末尾添加,注意这里改成自己的路径
export PATH=$PATH:/usr/local/rabbitMQ/rabbitmq_server-3.6.15/sbin
然后保存文件
使文件生效
source /etc/profile
接下来进入rabbitmq_server-3.6.15/sbin文件夹内
启动RabbitMQ 服务
service rabbitmq-server start
停止RabbitMQ 服务
service rabbitmq-server stop
查看RabbitMQ 服务状态
service rabbitmq-server status
首先我们启动服务,然后查看一下用户列表
rabbitmqctl list_users
可以看到只有guest用户,这是默认用户,用户名和密码都是guest
接着我们添加一个自己的用户
rabbitmqctl add_user 用户名 密码
再查看一下用户列表,发现我们创建的用户和guest用户的权限不一样
那我们赋予用户角色
rabbitmqctl set_user_tags 用户名 administrator
这是赋予了最高权限的角色,再执行一条赋权限语句
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
接下来是很重要的一步,开启阿里云服务器端口,我们要开启俩个端口
15672
5672
然后再你的浏览器输入
服务器IP地址:15672
这样可以看到rabbitMQ的管理端界面了,用户名和密码就是你刚才创建的用户
接着是Springboot简单demo的实现
首先创建2个项目rabbitmq-sender和rabbitmq-receiver
先创建rabbitmq-sender

pom.xml需要的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- 添加springboot对amqp的支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
SenderConf
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @创建人 FengKe
* @创建时间 2020/8/20 19:36
* @描述
*/
@Configuration
public class SenderConf {
@Bean
public Queue queue() {
return new Queue("messagequeue");
}
}
TestSend
import com.feker.rabbitmq.sender.service.HelloSender;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @创建人 FengKe
* @创建时间 2020/8/20 20:02
* @描述
*/
@Controller
public class TestSend {
@Autowired
private HelloSender helloSender;
@ResponseBody
@GetMapping("/testqueue")
public void testRabbit() {
helloSender.send();
}
}
HelloSender
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @创建人 FengKe
* @创建时间 2020/8/20 19:39
* @描述
*/
@Component
public class HelloSender {
@Autowired
private AmqpTemplate template;
public void send() {
template.convertAndSend("messagequeue","hello,rabbit~");
}
}
application.properties
server.port=8093
spring.application.name=spirng-boot-rabbitmq-sender
spring.rabbitmq.host=服务器公网IP地址
spring.rabbitmq.port=5672
spring.rabbitmq.username=用户名
spring.rabbitmq.password=密码
接下来是rabbitmq-receiver

pom.xml和上一个一样
HelloReceive
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
/**
* @创建人 FengKe
* @创建时间 2020/8/20 19:44
* @描述
*/
@Component
public class HelloReceive {
@RabbitListener(queues="messagequeue") //监听器监听指定的Queue
public void processC(String str) {
System.out.println("Receive:"+str);
}
}
application.properties
server.port=8094
spring.application.name=spirng-boot-rabbitmq-receiver
spring.rabbitmq.host=服务器公网IP地址
spring.rabbitmq.port=5672
spring.rabbitmq.username=用户名
spring.rabbitmq.password=密码
好了,项目我们已经创建完成了
接着,我们在
服务器IP地址:15672
这里修改点东西
在这个界面,我们添加一条名为messagequeue的queue就好了

然后回到我们的项目,先启动生产者,再启动消费者
然后在浏览器输入
127.0.0.1:8093/testqueue
访问后去接收者的控制台就可以看到消息发送过来了
!!!
1219

被折叠的 条评论
为什么被折叠?



