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.mzph.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展开成多行的形式进行统计分析…