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;区别何在&#…

圆环同心度测量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;并添加了一些可能系统中所有…

halcon圆环完整度检测

文章目录处理要求程序源码处理结果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 查找好的圆环&#xff0c;检测圆环不良 程序源码 read_image (Image, F:/HALCON/圆环完整性检测/6.bmp) rgb1_to_gray (Image, GrayImage) v…

圆环划痕检测halcon

文章目录处理要求处理源码处理效果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 查找圆环缺陷 处理源码 read_image (Image, F:/HALCON/圆环划痕处理/10_33221_ba4582f0e88ec79.bmp) rgb3_to_gray (Image, Image, Image, Image…

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

场景 日志服务内置了20类SQL函数。面对用户复杂的业务场景&#xff0c;例如使用json来沉淀业务数据&#xff0c;普通的SQL函数可能就无法满足需求&#xff0c;需要一些用户自定义处理逻辑。为了处理json类的业务数据&#xff0c;我们可以采用把json展开成多行的形式进行统计分析…

瓶子个数计数halcon

文章目录处理要求处理方法一源码效果方法二源码效果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 查找纸箱内瓶子个数 处理方法一 源码 dev_clear_window () dev_open_window (0, 0, 640*1.5, 512*1.5, black, WindowHandle…

halcon自动对焦算法

1、介绍 图像清晰度是衡量图像质量的一个重要指标&#xff0c;对于相机来说&#xff0c;其一般工作在无参考图像的模式下&#xff0c;所以在拍照时需要进行对焦的控制。对焦不准确&#xff0c;图像就会变得比较模糊不清晰。相机对焦时通过一些清晰度评判指标&#xff0c;控制镜…

HTML学习笔记06-连接

HTML超链接 HTML使用标签<a>来设置文本超链接。 超链接可以是文字&#xff0c;也可以是图片&#xff0c;点击这些内容跳转到新的文档或当前文档的某个部分 代码类似这样&#xff1a; <a href"url">连接文本</a> 实例&#xff1a; <!DOCTYPE HTM…

在Xcode中使用Git进行源码版本控制

在Xcode中使用Git进行源码版本控制 在应用程序开发过程中&#xff0c;很重要的一部分工作就是如何进行源码的版本控制。当代码出现问题时&#xff0c;我们就需要将代码恢复到原先正常的版本。如果是多个人共同开发一个项目&#xff0c;那么代码的控制就会非常复杂。幸运的是&am…

ASP.NET Web API之消息[拦截]处理(转)

出处&#xff1a;http://www.cnblogs.com/Leo_wl/p/3238719.html 标题相当难取&#xff0c;内容也许和您想的不一样&#xff0c;而且网上已经有很多这方面的资料了&#xff0c;我不过是在实践过程中作下记录。废话少说&#xff0c;直接开始。 Exception 当服务端抛出未处理异常…

死磕算法之快速排序

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。博客源地址为zhixiang.org.cn https://blog.csdn.net/myFirstCN/article/details/80851021 学习更多算法系列请参考文章&#xff1a;死磕算法之汇总篇 快速排序是一个运用了分治法和递归算法的排序方…

Windows操作系统安全加固

本文档旨在指导系统管理人员或安全检查人员进行Windows操作系统的安全合规性检查和配置。 1. 账户管理和认证授权 1.1 账户 默认账户安全 禁用Guest账户。禁用或删除其他无用账户&#xff08;建议先禁用账户三个月&#xff0c;待确认没有问题后删除。&#xff09;操作步骤 打开…

TI DAVINCI开发原理(总共5部分)

2011-06-03 11:14:17| 分类&#xff1a; TI 达芬奇视频处 | 标签&#xff1a; |字号大中小订阅 DAVINCI开发原理之一----ARM端开发环境的建立(DVEVM) 1. 对DAVINCI平台&#xff0c;TI在硬件上给予双核架构强有力的支撑&#xff0c;在DSP端用DSP/BIOS来支持音视频算法的运行…

模拟查找晶元的位置

通过模板匹配找到所有模板位置&#xff0c;并且当单击某个模板时&#xff0c;选中某个模板 read_image (Image, C:/Users/22967/Desktop/晶圆找位置/0.bmp) dev_close_window () dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle) dev_display (Image)* draw_cir…

初探数位dp

前言&#xff1a;这是蒟蒻第一次写算法系列&#xff0c;请诸位大佬原谅文笔与排版。 一、导入 在刷题的时候&#xff0c;我们有时会见到这样一类问题&#xff1a;在区间$[l,r]$内&#xff0c;共有多少个整数满足某种条件。如果$l$和$r$间的差很小&#xff0c;我们可以考虑暴力枚…

Java演示手机发送短信验证码功能实现

我们这里采用阿里大于的短信API 第一步&#xff1a;登陆阿里大于&#xff0c;下载阿里大于的SDK a、在阿里大于上创建自己的应用 b、点击配置管理中的验证码&#xff0c;先添加签名&#xff0c;再配置短信模板 第二步&#xff1a;解压相关SDK&#xff0c;第一个为jar包&#xf…

ELK日志分析系统(转)

原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://467754239.blog.51cto.com/4878013/1700828大纲&#xff1a; 一、简介 二、Logstash 三、Redis 四、Elasticsearch 五、Kinaba 一、简介 …