如果您习惯于处理与SQL Server等关系数据库的连接,那么您可能会发现EasyNetQ处理连接的方式有点奇怪。与关系数据库的通信始终由客户端启动。客户端打开连接,发出SQL命令,在必要时处理结果,然后关闭连接。一般的建议是,您应该在尽可能短的时间内保持打开连接,并将连接池保留给API。

与RabbitMQ等消息代理进行交谈有点不同,因为连接往往会持续应用程序的生命周期。通常,您将打开连接,创建订阅,然后等待任何消息到达打开的连接。EasyNetQ不假设经纪人随时可用。相反,它采用延迟连接方法,在后台线程上轮询给定端点,直到它可以连接。如果服务器因任何原因(可能是网络故障,可能是RabbitMQ服务器本身已被退回)而断开连接,EasyNetQ将恢复轮询端点,直到它可以重新连接。

标准做法是在应用程序的生命周期内创建单个IBus实例。在应用程序关闭时处理它。

与RabbitMQ服务器的延迟连接由IBus接口表示。大多数EasyNetQ操作都是IBus上的方法。您创建一个这样的IBus实例:

var bus = RabbitHutch.CreateBus(“host=myServer;virtualHost=myVirtualHost;username=mike;password=topsecret”);

连接字符串由key = value格式的键/值对组成,每个键都以分号(;)分隔。唯一必填字段是“主机”。可能的连接字符串值为:

  • host(例如host = localhost或host = 192.168.2.56或host = myhost.mydomain.com)此字段是必需的。要指定要连接的端口,可以使用标准格式host:port(例如host = myhost.com:5673)。如果省略端口号,则使用默认的AMQP端口(5672)。要连接到RabbitMQ群集,请指定用逗号分隔的每个群集节点(例如host = myhost1.com,myhost2.com,myhost3.com)。有关详细信息,请参阅群集支持
  • virtualHost(例如virtualHost = myVirtualHost)默认为默认虚拟主机'/'
  • username(例如username = mike)默认为'guest'(对于非'localhost'主机,您需要其他用户而不是'guest')
  • password(例如密码= mysecret)默认为'来宾'
  • requestedHeartbeat(例如requestedHeartbeat = 10)默认为10秒。没有心跳,设置为零。
  • prefetchcount(例如prefetchcount = 1)默认值为50.这是在EasyNetQ发送ack之前RabbitMQ将传递的消息数。设置为0表示无限预取(不推荐)。设置为1,以便在消费者群体中实现公平的工作平衡。
  • publisherConfirms(例如publisherConfirms = true)默认为false。这将启用Publisher Confirms
  • persistentMessages(例如persistentMessages = false)默认为true。这决定了在发布消息时如何设置basic.properties中的delivery_mode。false = 1,true = 2。设置为true时,RabbitMQ将消息保留到磁盘,并在服务器重新启动后继续存在。设置为false时,可以预期性能提升。
  • product(例如产品=我真正重要的服务)在EasyNetQ 0.27.3中引入。default value是实例化总线的可执行文件的名称。此处输入的值将显示在RabbitMQ的管理界面中。
  • platform(例如platform = my.fully.qualified.domain.name)在EasyNetQ 0.27.3中引入。default value是运行客户端进程实例化总线的计算机的主机名。此处输入的值将显示在RabbitMQ的管理界面中。
  • timeout(例如超时= 60)默认为10秒。在EasyNetQ 0.17中引入。解析为System.UInt16类型。范围从0到65535.格式以秒为单位。对于无限超时,请使用0.超出值时抛出System.TimeoutException。

要关闭连接,只需像这样处理总线:

bus.Dispose();

这将关闭EasyNetQ使用的连接,渠道,消费者和所有其他资源。

password  ['pɑːswɜːd]  详细X
基本翻译
n. 密码;口令
网络释义
Password: 密码
Confirm Password: 确认密码
Admin Password: 管理密码

最新文章

  1. 在mahout安装目录下输入mahout 提示 ERROR: Could not find mahout-examples-*.job
  2. 从底层理解Python的执行
  3. UI4_UIWebView
  4. [GIF] Parenting in GIF Loop Coder
  5. Android控件TextView的实现原理分析
  6. random background
  7. [Swust OJ 797]--Palindromic Squares(回文数水题)
  8. POJ 3450 Corporate Identity KMP解决问题的方法
  9. 一键部署ETCD集群脚本
  10. 关于ng的路由的几点想法(ui-view)
  11. nginx+php负载均衡集群环境中的session共享方案梳理
  12. Gephi 网络图可视化工具
  13. QT学习之菜单栏与工具栏
  14. R语言学习 第三篇:数据框
  15. 【bzoj1087】互不侵犯King
  16. Jquery解析json数组字符串
  17. 11gR2RAC更换CRS磁盘组文档
  18. define的误用
  19. php 字符串的分割
  20. 广搜最短路径变形,(POJ3414)

热门文章

  1. call、apply和bind的用法
  2. FBI树
  3. IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/app
  4. Mac上从gitlab上拉项目实战总结
  5. 在Liunx Mint下无法切换到root用户
  6. JS基础知识-01
  7. IDEA中SVN的使用
  8. Hbase数据IO
  9. spring data elasticsearch多索引查询
  10. poorpool 的 考场 NOI Linux 配置