RabbitMQ

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服務:

在文件界面打開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);
    }
}

啓動發送者和接收者

在瀏覽器地址欄中訪問發送接口。

消息接收者的控制檯會打印生產者發送來的消息。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章