RabbitMQ for windows

一、搭建環境

Rabbit MQ 是建立在強大的Erlang OTP平臺上,因此安裝RabbitMQ之前要先安裝Erlang。

erlang:http://www.erlang.org/download.html

rabbitmq:http://www.rabbitmq.com/download.html

我目前使用的:http://pan.baidu.com/s/1eS8Dhse

默認安裝的Rabbit MQ 監聽端口是:5672

?

二、配置

1. 安裝完以后erlang需要手動設置ERLANG_HOME 的系統變量。

輸入:set?ERLANG_HOME=C:\Program Files\erl9.0

2,打開cmd定位到rabbitmq的安裝路徑:C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.10\sbin

上述命令回車后接著輸入rabbitmqctl status,回車后出現下面一坨的即說明安裝沒有問題:

出現問題: Error:unable to connect to node rabbit@Hunter:nodedown
也不知道怎么回事,重新安裝了下rabbitmq-server-3.6.10

3,rabbitmq-plugins enable rabbitmq_management(安裝 RabbitMQWeb的管理插件。此時,已經可以通過?http://127.0.0.1:15672/ 地址來訪問web管理界面了,默認的賬戶和密碼均是 guest。但實際使用時可能需要重新一個新的管理賬戶)  ?

4,rabbitmqctl.bat add_user zhangdi 123456(創建管理用戶,這一步還不能登錄)

5,rabbitmqctl.bat set_user_tags zhangdi?administrator(設置管理員,可以登錄了)

6,rabbitmqctl.bat set_permissions -p / ?zhangdi?".*" ".*" ".*"(授予管理員權限)

7,其他命令

  a. 查詢用戶: rabbitmqctl.bat list_users

  b. 查詢vhosts: rabbitmqctl.bat list_vhosts

  c. 啟動RabbitMQ服務: net stop RabbitMQ && net start RabbitMQ

8,centos配置

https://ken.io/note/centos7-rabbitmq-install-setup#H3-7

#添加用戶
sudo rabbitmqctl add_user admin pwd#設置用戶角色
sudo rabbitmqctl set_user_tags admin administrator#tag(administrator,monitoring,policymaker,management)#設置用戶權限(接受來自所有Host的所有操作)
sudo rabbitmqctl  set_permissions -p "/" admin '.*' '.*' '.*'  #查看用戶權限
sudo rabbitmqctl list_user_permissions admin
centos配置用戶

?

?

?

新版配置:

下載地址:https://pan.baidu.com/s/18-rLh0e3mSY0xX4YfDqi3g

參考地址:https://blog.csdn.net/hzw19920329/article/details/53156015

1,下載安裝erlang
①添加系統變量:ERLANG_HOME=C:\Program Files\erl9.3(安裝路徑)
②添加系統變量path:C:\Program Files\erl9.3\bin
③測試安裝是否成功:打開cmd 輸入erl,如果出現erlang的版本信息就表示erlang語言環境安裝成功

2,下載安裝RabbitMQ
注意:安裝目錄不能存在空格,最好安裝到c盤(我安裝rabbitmq到D盤出錯)
①cmd進入C:\RabbitMQServer\rabbitmq_server-3.7.4\sbin目錄 輸入:rabbitmq-plugins enable rabbitmq_management安裝管理界面

②安裝完成進入http://localhost:15672,默認管理員和密碼都是guest

?

三、C#使用RabbitMQ(使用EasyNetQ)

?

1,MQ.Common

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EasyNetQ;namespace MQ.Common
{/// <summary>/// 消息服務器連接器/// </summary>public class BusBuilder{public static IBus CreateMessageBus(){// 消息服務器連接字符串// var connectionString = ConfigurationManager.ConnectionStrings["RabbitMQ"];//string connString = "host=192.168.98.107:5672;virtualHost=OrderQueue;username=zhangdi;password=123456";string connString = "host=127.0.0.1:5672;virtualHost=text;username=zhangdi;password=123456";if(string.IsNullOrEmpty(connString))throw new Exception("messageserver connection string is missing or empty");return RabbitHutch.CreateBus(connString);}}
}
BusBuilder
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace MQ.Common
{public interface IProcessMessage{void ProcessMsg(Message msg);}
}
IProcessMessage
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EasyNetQ;namespace MQ.Common
{public  class Message{public string MessageID { get; set; }public string MessageTitle { get; set; }public string MessageBody { get; set; }public string MessageRouter { get; set; }}
}
Message
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EasyNetQ;namespace MQ.Common
{public class MQHelper{/// <summary>/// 發送消息/// </summary>/// <param name="msg"></param>public static void Publish(Message msg){// 創建消息busIBus bus = BusBuilder.CreateMessageBus();try{bus.Publish(msg, x => x.WithTopic(msg.MessageRouter));}catch (EasyNetQException ex){//處理連接消息服務器異常
            }bus.Dispose();//與數據庫connection類似,使用后記得銷毀bus對象
        }public static void Subscibe(Message msg, IProcessMessage ipro){// 創建消息busIBus bus = BusBuilder.CreateMessageBus();try{bus.Subscribe<Message>(msg.MessageRouter, message => ipro.ProcessMsg(message),x => x.WithTopic(msg.MessageRouter));}catch (EasyNetQException ex){//處理連接消息服務器異常 
            }}}
}
MQHelper

2,MQ.Consumer

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MQ.Common;namespace MQ.Consumer
{public class OrderProcessMessage : IProcessMessage{public void ProcessMsg(Message msg){Console.WriteLine(msg.MessageBody);}}
}
OrderProcessMessage
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MQ.Common;namespace MQ.Consumer
{class Program{static void Main(string[] args){OrderProcessMessage order = new OrderProcessMessage();Message msg = new Message();msg.MessageID = "1";msg.MessageRouter = "pcm.notice.zhangsan";MQHelper.Subscibe(msg, order);Console.ReadLine();}}
}
Program

3,MQ.Producer

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MQ.Common;namespace MQ.Producer
{class Program{static void Main(string[] args){Message msg = new Message();msg.MessageID = "1";msg.MessageBody = DateTime.Now.ToString();msg.MessageTitle = "1";msg.MessageRouter = "pcm.notice.zhangsan";MQHelper.Publish(msg);Console.ReadLine();}}
}
Program

當啟動Consumer(消費者)時,會自動在RabbitMQ服務器上創建相關的exchange和queue。
注意:這個程序應該先啟動Consumer(消費者)

案例下載:?http://pan.baidu.com/s/1c1LY9gc

?

?

?

參考文檔:

http://blog.csdn.net/seven_coder/article/details/50946562

http://www.cnblogs.com/zhangweizhong/p/5687457.html

?

轉載于:https://www.cnblogs.com/zd1994/p/7082948.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254241.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254241.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254241.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

圓環內外圓毛刺(凸起)缺口(凹陷)檢測halcon

文章目錄處理要求處理方法1方法一思路方法一halcon源碼處理效果處理方法2方法二思路方法二halcon源碼處理效果博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 處理要求 橢圓/圓環&#xff08;產品易變形&#xff0c;為橢圓&#xff09;內外圓…

什么是單播、多播和廣播br

什么是單播、多播和廣播   “單播”&#xff08;Unicast&#xff09;、“多播”&#xff08;Multicast&#xff09;和“廣播”&#xff08;Broadcast&#xff09;這三個術語都是用來描述網絡節點之間通訊方式的術語。那么這些術語究竟是什么意思&#xff1f;區別何在&#…

【Oracle Database】數據庫控制文件管理

移動控制文件 [oraclewallet01 ~]$ sqlplus / as sysdba SQL> set line 200 SQL> col name for a60 SQL> select status,name from v$controlfile;STATUS NAME ------- ------------------------------------------------------------/u01/app/oracle/oradata/wallet…

ADO接口簡介

源地址&#xff1a;http://blog.csdn.net/xiaobai1593/article/details/7449151 參考&#xff1a; 1. 百度文庫&#xff1a;http://wenku.baidu.com/view/8e2e99ecf8c75fbfc77db230.html 2. CSDN&#xff1a;http://blog.csdn.net/augusdi/article/details/7005597 接口概述&am…

jquery模擬可輸入的下拉框

//頁面html <div id"select" class"select" ><ul><c:forEach items"${movieCityList}" var"cy" varStatus"st"><li><a href"javascript:void(0)" onclick"selectOption($(this))…

圓環同心度測量halcon

文章目錄處理要求處理源碼處理結果博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 處理要求 測量圓環同心度 處理源碼 read_image (Image, C:/Users/22967/Desktop/圖像Barrel 20201024/201024 手機行業 攝像頭檢測/Barrel 背光/Pic_2020_…

IP組播與組播協議

IP組播與組播協議 2008-4-27來源:不詳 作者:佚名 點擊&#xff1a;次在Internet上&#xff0c;多媒體業務諸如&#xff1a;流媒體&#xff0c;視頻會議和視頻點播等&#xff0c;正在成為信息傳送的重要組成部分。點對點傳輸的單播方式不能適應這一類業務傳輸特性--單點發送多點…

Spring Cloud的應用程序—上下文服務

2019獨角獸企業重金招聘Python工程師標準>>> Spring Boot對于如何使用Spring構建應用程序有一個看法&#xff1a;例如它具有常規配置文件的常規位置&#xff0c;以及用于常見管理和監視任務的端點。Spring Cloud建立在此之上&#xff0c;并添加了一些可能系統中所有…

Xtreme8.0 - Kabloom dp

Xtreme8.0 - Kabloom題目連接&#xff1a; https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/kabloom Description The card game Kabloom is played with multiple decks of playing cards. Players are dealt 2 n cards, face up and arranged in two …

視頻編碼中封裝格式RMVB,AVI,264

常規理解 封裝格式&#xff08;也叫容器&#xff09;&#xff0c;就是將已經編碼壓縮好的視頻軌和音頻軌按照一定的格式放到一個文件中&#xff0c;也就是說僅僅是一個外殼&#xff0c;或者大家把它當成一個放視頻軌和音頻軌的文件夾也可以。說得通俗點&#xff0c;視頻軌相當…

halcon圓環完整度檢測

文章目錄處理要求程序源碼處理結果博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 處理要求 查找好的圓環&#xff0c;檢測圓環不良 程序源碼 read_image (Image, F:/HALCON/圓環完整性檢測/6.bmp) rgb1_to_gray (Image, GrayImage) v…

《SAS編程與數據挖掘商業案例》學習筆記之十五

繼續《SAS編程與數據挖掘商業案例》讀書筆記&#xff0c;本次重點&#xff1a;輸出控制 主要內容包含&#xff1a;log窗體輸出控制、output窗體輸出控制、ods輸出控制 1.log窗體輸出控制 將日志輸出到外部文件 proc printto log "f:\data_model\book_data\chapt9\newlog.t…

[轉載]MATLAB?movie?函數動態繪圖

原文地址&#xff1a;MATLAB movie 函數動態繪圖作者&#xff1a;小霖cheeronMATLAB movie 函數動態繪圖 電影動畫的好處就是&#xff0c;運行一次可以多次播放&#xff0c;甚至可以直接生成avi文件&#xff0c;直接獨立與Matlab環境播放。這是其它三種動畫制作方法所不具備的。…

圓環劃痕檢測halcon

文章目錄處理要求處理源碼處理效果博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 處理要求 查找圓環缺陷 處理源碼 read_image (Image, F:/HALCON/圓環劃痕處理/10_33221_ba4582f0e88ec79.bmp) rgb3_to_gray (Image, Image, Image, Image…

多播(組播)原理分析

為什么要使用多播:網 卡從網絡上接收到目標物理地址對應的所有bit位都為1的數據報時&#xff0c;會收到這條消息并將其上傳給驅動程序&#xff0c;網卡的這種工作模式稱為廣播模式&#xff0c;網卡的缺省工作模式包含直接模式和廣播模式。利用這一特性&#xff0c;UDP&#xff…

iftop

在類Unix系統中可以使用top查看系統資源、進程、內存占用等信息。查看網絡狀態可以使用netstat、nmap等工具。若要查看實時的網絡流量&#xff0c;監控TCP/IP連接等&#xff0c;則可以使用iftop。一、iftop是什么&#xff1f;iftop是類似于top的實時流量監控工具。官方網站&…

sql 日記

--4.選擇雇用時間在1998-02-01到1998-05-01之間的員工姓名&#xff0c;job_id和雇用時間select last_name,job_id,hire_datefrom employeeswhere to_char(hire_date,yyyy-mm-dd) between 1998-02-01 and 1998-05-01 --5.選擇在20或50號部門工作的員工姓名和部門號select last_n…

CSS3中的變形處理

變形分類 縮放 使用scale方法來實現文字或圖像的縮放&#xff0c;在參數中指定縮放倍率。例如“scale&#xff08;0.5&#xff09;”&#xff0c;表示縮小50 傾斜 使用skew方法來實現文字或圖像的縮放&#xff0c;在參數中指定水平方向的傾斜角度與垂直方向的傾斜角度&#xf…

linux基本知識學習

LINUX黑洞 /dev/null 這是一個虛設的設備&#xff0c;俗稱“LINUX 黑洞”&#xff0c;任何對/dev/null的寫入都會成功&#xff0c; 但是數據會消失得無影無蹤&#xff0c;沒有任何反饋。所以經常把不想在屏幕 顯示的信息全部送到/dev/null&#xff0c;在shell腳本中用得較多。 …

日志OLAP:在SQL中使用UDF, lambda函數使用案例

場景 日志服務內置了20類SQL函數。面對用戶復雜的業務場景&#xff0c;例如使用json來沉淀業務數據&#xff0c;普通的SQL函數可能就無法滿足需求&#xff0c;需要一些用戶自定義處理邏輯。為了處理json類的業務數據&#xff0c;我們可以采用把json展開成多行的形式進行統計分析…