EasyNetQ在为队列生成名称时的默认行为是使用   消息类型名称+subscription Id

例如,名称空间EasyNetQ.Tests.Integration中的PartyInvitation消息类型将使用队列名称EasyNetQ.Tests.Integration.PartyInvitation:EasyNetQ.Tests_schedulingTest1,假定订阅ID为schedulingTest1。

1,控制队列名称

要控制队列的名称,请使用Queue属性注释消息类:

[Queue("TestMessagesQueue", ExchangeName = "MyTestExchange")]
public class TestMessage
{
public string Text { get; set; }
} // ... bus.Subscribe<TestMessage>(string.Empty, msg => Console.WriteLine(msg.Text));

在这里,我们告诉EasyNetQ将TestMessagesQueue用作队列名称,将MyTestExchange用作交换名称。 注意传递给Subscribe方法的subscriptionId是空的。 如果指定subscriptionId,则它将被追加到末尾并用作队列名称。

2,有关命名队列的注意事项

将队列名称设置为空字符串将使用默认的命名行为。队列名称的最大长度为255个字符(这由RabbitMQ客户端库执行)。名称可以是字母,数字,连字符,下划线,句号或冒号的序列。队列名称以“amq”开头。保留给预先声明和标准化的队列。

7,EasyNetQ-控制队列名称的更多相关文章

  1. 【EasyNetQ】- 控制队列名称

    在为队列生成名称时,EasyNetQ的默认行为是使用消息类型名称并将其附加到订阅ID.例如PartyInvitation,命名空间中的消息类型EasyNetQ.Tests.Integration将使用 ...

  2. EasyNetQ使用(五)【基于主题的路由,控制队列名称】

    RabbitMQ有一个很酷的功能,基于主题的路由,这个功能允许订阅者基于多个条件去过滤消息.一个主题是由点号分隔的单词列表,随消息一同发布.例如:“stock.usd.nyse” 或 “book.uk ...

  3. 10-EasyNetQ之控制队列名称

    EasyNetQ默认行为,当生成队列的名称时,使用消息类型名+subscription Id.例如:PartyInvitation 这个消息类型,命名空间为 EasyNetQ.Tests.Integr ...

  4. NServiceBus 更换服务名及队列名称

    可以通过起动时的参数处理 NServiceBus.Host.exe /serviceName:”服务名称” /endpointName:”默认队列名称”

  5. Dynamics 365 We API ODATA语法根据父记录查询子记录,根据子记录查询父记录(附上根据团队,队列名称查成员)

    微软动态CRM专家罗勇 ,回复333或者20190508可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 先举个N:N关系的例子.这里以根据团队的名称查找其所有团队成员的 ...

  6. springboot+RabbitMQ 问题 RabbitListener 动态队列名称:Attribute value must be constant

    因为多机环境fanout广播模式,每台机器需要使用自己的队列接受消息 所以尝试使用以下的方案 private static final String QUEUE_NAME="foo.&quo ...

  7. 【框架学习与探究之消息队列--EasyNetQ(2)】

    声明 本文欢迎转载,系博主原创,本文原始链接地址:http://www.cnblogs.com/DjlNet/p/7654902.html 前言 此文章,是承接上篇:[框架学习与探究之消息队列--Ea ...

  8. 使用EasyNetQ组件操作RabbitMQ消息队列服务

    RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现,是实现消息队列应用的一个中间件,消息队列中间件是分布式系统中重要的组件,主要解决应用耦合, ...

  9. .NET Core微服务之基于EasyNetQ使用RabbitMQ消息队列

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.消息队列与RabbitMQ 1.1 消息队列 “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更 ...

随机推荐

  1. java 多线程和并行程序设计

    多线程使得程序中的多个任务可以同时执行 在一个程序中允许同时运行多个任务.在许多程序设计语言中,多线程都是通过调用依赖系统的过程或函数来实现的 为什么需要多线程?多个线程如何在单处理器系统中同时运行? ...

  2. Struts的JSON机制

    需要加入jar包 Struts的JSON帮助我们自动将对象解析为JSON对象,不用我门借助第三方进行JSON的解析 .具体的使用机制如下: 1.Action类 package StrutsJSON; ...

  3. [转]AMBA、AHB、APB、ASB总线简介

    [转]http://www.cnblogs.com/zhaozhong1989/articles/3092140.html 1.前言 随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大.数字IC ...

  4. 使用neo4j-import工具导入数据

    从Neo4j2.2版本开始,系统就自带了一个大数据量的导入工具:neo4j-import,可支持并行.可扩展的大规模csv数据导入(本例版本为:3.4.7版本) 1.前提条件 关闭neo4j 无法在原 ...

  5. volatile的深入理解--【sky原创】

    volatile 所有定义的变量都是在内存上面的,  例如: int i = 10; int j = i; int k = i;   i = 10; 是初始化的变量,存放在数据段,未初始化的变量存放在 ...

  6. centos7版本设置OS启动默认进入图形界面还是文本界面

    相比7之前的版本,在centos7版本中,设置OS启动默认进入图形界面还是文本界面有了点变化 检查当前默认设置 [root@rems2 ~]# systemctl get-default graphi ...

  7. windows系统上搭建redis集群哨兵及主从复制

    搭建master 修改redis配置redis.windows.conf: 修改监听端口:  port 26379 修改绑定IP: bind 127.0.0.1 添加redis日志:logfile & ...

  8. MariaDB:登陆报错:mysqladmin: connect to server at 'localhost' failed

    见图: 解决办法: /etc/init.d/mysqld stop mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended ...

  9. Ex 6_21 最小点覆盖问题_第八次作业

    子问题定义: 对于图中的每个结点,有两种状态,即属于最小点覆盖和不属于最小点覆盖,定义minSet[i][0]表示结点i属于点覆盖,并且以i为根的树的最小点覆盖的大小.minSet[i][1]表示点i ...

  10. mpVue小程序全栈开发

    1.微信小程序,mpVue和wepy的对比 2. 3.es6中关于数组的一些方法 <script> let arr = [,,,] // 遍历 arr.forEach(v => { ...