Erlang、RabbitMQ的下载安装

 首先打开官网:http://www.rabbitmq.com/install-rpm.html

先到右侧导航栏:

这其实就是rabbitmq和erlang的版本对应关系。

下载Erlang

下载地址:http://www.erlang.org/downloads

Windows系统下载这个:OTP xx.x Windows 64-bit Binary File

下载后的文件:

双击打开安装:一路Next。如果是.net开发,勾上这个。

添加系统变量

在这里插入图片描述

最后添加环境变量

在这里插入图片描述

下载RabbitMQ

下载地址:http://www.rabbitmq.com/download.html

下载后的文件:

双击安装:

安装成功:

打开:D:\SoftWare\RabbitMQ\rabbitmq_server-3.7.7\sbin:

双击rabbitmq-server.bat,启动rabbitmq服务:

在sbin目录打开cmd窗口输入:rabbitmqctl status,如若显示下图内容表示rabbitmq安装启动成功:

在cmd运行界面输入 rabbitmq-plugins enable rabbitmq_management 启用 management 插件。

在浏览器 http://127.0.0.1:15672  访问这个地址,是RabbitMQ的管理中心。

此时可以使用默认账户访问:

username:guest
passwd:guest

访问成功: 

要从计算机中完全卸载RabbitMQ和Erlang,请执行以下操作
     1、打开Windows控制面板。
     2、双击“程序和功能”。
     3、在当前安装的程序列表中,右键单击RabbitMQ Server,然后单击“卸载”。
     4、在当前安装的程序列表中,右键单击“Erlang OTP”,然后单击“卸载”。
     5、打开Windows任务管理器。
     6、在任务管理器中,查找进程epmd.exe。 如果此进程仍在运行,请右键单击该进程,然后单击“结束进程”。
     7、删除RabbitMQ和Erlang的所有安装目录。
     8、删除文件C:\ Windows \ .erlang.cookie(如果存在)。
     9、转到用户文件夹:C:\ Users \ [username],然后删除文件.erlang.cookie。删除
     10、同样在User文件夹中,转到AppData \ Roaming \ RabbitMQ。 输入%appdata%\ Rabbitmq找到配置文件删除
     11、将Log文件夹备份到安全位置,然后删除该文件夹。

 

SpringBoot 整合 RabbitMQ

需要创建一个消息发送者和一个消息接收者,演示一个最简单的单一发送者对单一接收者项目。

创建消息接收者

pom.xml 配置

<!-- 添加springboot对amqp的支持 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

 

application.yml配置

spring:
  application:
    name: springboot-rabbit-sender
    rabbitmq:
      host: 127.0.0.1
      port: 5672
      username: guest
      password: guest
      virtual-host: /

 

创建消息接收类

@Component
public class HelloReceive {

    /**
     * 该注解是监听队列的,当队列有消息的时候,它会自动获取。
     * 标注在类上面表示当有收到消息的时候,就交给 @RabbitHandler 的方法处理,具体使用哪个方法处理,根据 MessageConverter 转换后的参数类型
     */
    @RabbitListener(queues = RabbitSenderConf.QUEUE)
    public void receive(String msg) {
        System.err.println("消费者收到了一个消息 : " + msg + "  " + new Date().getTime());
    }
}

 

创建启动类

@SpringBootApplication
public class RabbitReceiveApplication {

    public static void main(String[] args) {
        SpringApplication.run(RabbitReceiveApplication.class);
    }
}

 

创建消息发送者

pom.xm 文件和 application.yml 配置与接收者一样

创建配置类

/**
 * 该类初始化创建队列、转发器,并把队列绑定到转发器
 */
@Configuration
public class RabbitSenderConf {

    public static final String QUEUE = "queue";

    /**
     * 创建一个队列
     * Queue 可以有4个参数
     *      1.队列名
     *      2.durable       持久化消息队列,rabbitMQ重启的时候不需要创建新的队列,默认true
     *      3.auto-delete   表示消息队列没有在使用时将被自动删除,默认是false
     *      4.exclusive     表示该消息队列是否只在当前connection生效,默认是false
     */
    @Bean
    public Queue queue() {
        return new Queue(QUEUE, true);
    }

}

 

创建消息发送类

@RestController
public class HelloSender {

    @Autowired
    private AmqpTemplate template;

    @GetMapping("/send")
    public void send(String msg) {
        // 将消息队列存入rabbitMQ的消息队列里
        template.convertAndSend(RabbitSenderConf.QUEUE, msg);
        System.err.println("生产者生产了一个消息 : " + msg + "  " + new Date().getTime());
    }

}

 

创建启动类

@SpringBootApplication
public class RabbitSenderApplication {

    public static void main(String[] args) {
        SpringApplication.run(RabbitSenderApplication.class);
    }
}

 

启动发送者和接收者

在浏览器地址栏中访问发送接口。

消息接收者的控制台会打印生产者发送来的消息。

 

posted on 2019-10-25 09:26  FuYingju  阅读(70)  评论(0编辑  收藏  举报