Chi*_*tel 4 rabbitmq rabbitmq-exchange rabbitmq-c
我已经编写了服务器客户端应用程序。
服务器端服务器将在直接交换上使用路由键key1
初始化队列queue1。
在初始化和声明之后,只要有人在上面写入,它就会消耗数据。
客户端
客户端将使用路由密钥key1在该交换上发布一些数据。
另外,在发布之前我已将 mandotory 标志设置为 true。
问题
当我首先启动服务器时,一切都很好。但是当我首先启动客户端并使用路由密钥发布数据时,我遇到了问题。当客户发布数据时,经纪商也不例外。
要求
当我在不存在的队列上发布数据时,我希望出现异常或错误。
如果您将发布mandatory标志设置为 的消息true,则该消息将返回,以防它无法路由到任何队列。
对于不存在的交易所,禁止向不存在的交易所发布消息,因此您将不得不收到有关该错误的错误,例如NOT_FOUND - no exchange 'nonexistent_exchange' in vhost '/'.
您也可以根据需要在客户端声明交换和队列并绑定它们。这些操作是幂等的。
请注意,在每次发布时创建和绑定交换和队列可能会对性能产生负面影响,因此在客户端启动时执行此操作,而不是每次发布时都这样做。
PS:如果您使用rabbitmq-c,那么值得引用basic_publish文档
请注意,在 AMQ 协议级别 basic.publish 是一个异步方法:
这意味着代理上发生的错误情况(例如发布到不存在的交易所)将不会反映在此函数的返回值中。
| 归档时间: |
|
| 查看次数: |
3326 次 |
| 最近记录: |