首页 > 其他分享 >RabbitMQ

RabbitMQ

时间:2023-09-24 20:33:31浏览次数:18  
标签:GetMemberLevelTable cfg builder list RabbitMQ Configuration

RabbitMQ

1.安装nget包

DotNetCore.CAP

2.在program里写配置

//加入CAP
builder.Services.AddCap(x =>
{
    //读取上下文
    x.UseEntityFramework<MemberContext>(); // EF

    //读取数据库
    x.UseSqlServer(builder.Configuration["ConnectionStrings:Serve"]); // SQL Server

    //注入相关配置
    x.UseRabbitMQ(cfg =>
    {
        //主机
        cfg.HostName = builder.Configuration["RabbitMQ:Host"];
        //虚拟主机
        cfg.VirtualHost = builder.Configuration["RabbitMQ:VirtualHost"];
        //端口
        cfg.Port = Convert.ToInt32(builder.Configuration["RabbitMQ:Port"]);
        //用户名
        cfg.UserName = builder.Configuration["RabbitMQ:UserName"];
        //密码
        cfg.Password = builder.Configuration["RabbitMQ:Password"];
    }); // RabbitMQ

    // Below settings is just for demo
    //失败重试次数
    x.FailedRetryCount = 2;
    //每次间隔5秒
    x.FailedRetryInterval = 5;
});

3.在appsettings配置文件里写入上面的连接条件

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
    //连接字符串
  "ConnectionStrings": { "Serve": "Data Source=10.31.60.17;Encrypt=True;Initial Catalog=MemberDB;TrustServerCertificate=True;uid=wzy;pwd=123456" },
    //MQ相关配置
  "RabbitMQ": {
    "Host": "127.0.0.1", //主机
    "VirtualHost": "/",//虚拟主机
    "Port": 5672,//端口
    "UserName": "guest", //RabbitMQ的账户名
    "Password": "guest" //RabbitMQ的密码
  }
}

4.生产者:发布消息

        /// <summary>
        /// 获取会员等级
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetMemberLevelTable([FromServices] ICapPublisher capBus)
        {
            var list = levelBenefits.GetMemberLevelTable();

            capBus.Publish("GetMemberLevelTable", list);

            var MaxNumber = 0;

            if (list.Count!=0)
            {
                MaxNumber = list.Max(x => x.MemberLevel_Id);
            }        

            return Ok(new { list, MaxNumber });
        }

5.消费者:接收消息

        /// <summary>
        /// 获取mq
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        [HttpGet]
        [CapSubscribe("GetMemberLevelTable")]
        [Route("MQShow")]
        public IActionResult MQShow(List<object> obj)
        {
            return Ok(obj);
        }

标签:GetMemberLevelTable,cfg,builder,list,RabbitMQ,Configuration
From: https://www.cnblogs.com/Iflifecouldctrlz/p/17726601.html

相关文章

  • RabbitMQ保姆级教程最佳实践
    一、消息队列介绍1、消息队列概念1、MQ全称为MessageQueue,消息队列(MQ)是⼀种应⽤程序对应⽤程序的通信⽅法。应⽤程序通过读写出⼊队列的消息(针对应⽤程序的数据)来通信,⽽⽆需专⽤连接来链接它们。2、消息传递指的是程序之间通过在消息中发送数据进⾏通信,⽽不是通过直接调......
  • docker-compose 部署 RabbitMQ
    docker-compose部署RabbitMQdocker-compose.ymlversion:'3.5'services:rabbitmq:restart:alwaysimage:rabbitmq:managementcontainer_name:rabbitmqhostname:rabbitports:-5672:5672-15672:15672environm......
  • Docker 部署 RabbitMQ
    Docker部署RabbitMQ(35条消息)docker-compose安装RabbitMQ_rabbitmqdockerfile_嫣夜来的博客-CSDN博客Docker系列之RabbitMQ安装部署教程-腾讯云开发者社区-腾讯云(tencent.com)拉取镜像dockerpullrabbitmq:management运行容器dockerrun--restart=always-d-p......
  • rabbitmq学习-架构以及web访问
    架构生产者(Publisher):发布消息到RabbitMQ中的交换机(Exchange)上。交换机(Exchange):和生产者建立连接并接收生产者的消息。消费者(Consumer):监听RabbitMQ中的Queue中的消息。队列(Queue):Exchange将消息分发到指定的Queue,Queue和消费者进行交互。路由(Routes):交换机转发消息到队列的规......
  • Docker上运行RabbitMQ,无法访问管理页面
    在CentOS7中的Docker安装并运行了RabbitMQ,但是在访问管理页面http://IP:15672/却提示拒绝访问这是因为在Docker上运行的RabbitMQ,默认情况下是没有启用管理插件和管理页面的使用命令dockerexec-it容器名/bin/bash进入RabbitMQ容器的命令行终端。容器名即CONTAINERID......
  • RabbitMQ实例-天狼(与黑马基础混合使用)
    RabbitMQ讲义引言:中国被世界黑的最惨的一天2007年10月30日,北京奥运会门票面向境内公众第二阶段预售正式启动。上午一开始,公众提交申请空前踊跃。上午9时至10时,官方票务网站的浏览量达到了800万次,票务呼叫中心热线从9时至10时的呼入量超过了380万人次。由于瞬间访问数量过大,技术......
  • SpringBoot2集成RabbitMQ(注解+回调)
    一、概述RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。RabbitMQ主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中......
  • rabbitmq Broker not available; cannot force queue declarations during start: jav
    一、概述使用SpringBoot集成RabbitMQ遇到的问题。2023-09-2014:19:39.655INFO10256---[restartedMain]o.s.b.w.embedded.tomcat.TomcatWebServer:Tomcatstartedonport(s):80(http)withcontextpath''2023-09-2014:19:39.656INFO10256---[rest......
  • ubuntu安装RabbitMQ
    一、概述本地需要做RabbitMQ测试,想着安装包本地不利于来回换机子测试。就想着把其安装到云服务上,云服务的系统是ubuntu系统。这样通过远程连接,就不需要担心换机器的时候RabbitMQ用不了的问题了。可谓一次安装到处使用二、示例,备注:这里直接安装最新版的1.安装erlan......
  • 消息队列 - RabbitMQ
    RabbitMQ简介RabbitMQ是一个广泛使用的开源消息队列系统,它实现了高级消息队列协议(AMQP)标准,为分布式应用程序提供了强大的消息传递功能。RabbitMQ是Erlang语言编写的,具有高度的可扩展性和可靠性,因此被广泛用于构建分布式、异步的消息通信系统。以下是关于RabbitMQ的详细介......