【问题标题】:Does wso2 Message broker support fanout exchange?wso2 消息代理是否支持扇出交换?
【发布时间】:2013-12-10 19:07:05
【问题描述】:

我对 wso2 消息代理相当陌生,并且正在研究 poc。 我们正在尝试将 WSO2 消息代理与 RabbitMQ C# 一起使用。 当我将队列绑定到扇出交换时,消费者代码中出现错误。 这是错误的代码:

_channel.ExchangeDeclare("amq.fanout", "fanout");
string queueName = _channel.QueueDeclare();
_channel.QueueBind(queueName, "amq.fanout", "");

异常发生在这个sn-p的第三行(QueueBind)。

这是错误 AMQP操作被中断:AMQP close-reason,由Peer发起,code=504, text="org.wso2.andes.AMQSecurityException: Permission denied: binding [error code 403: access denied]", classId=50, methodId= 20、原因=

我们正在使用 AMQP 0_9_1。

我看到 wso2 mb 默认不提供扇出交换。我在 qpid.virtualhosts.xml 文件中添加了以下 sn-p

   <exchange>
     <type>fanout</type>
     <name>amq.fanout</name>
   </exchange>

代理启动时,我没有看到任何错误。

我不确定我是否缺少设置或代码中的任何内容,或者 wso2 消息代理是否支持扇出交换? 我也找不到这种情况的任何例子。 任何帮助表示赞赏!

【问题讨论】:

    标签: c# wso2 rabbitmq


    【解决方案1】:

    据我研究过这个问题,我可以告诉 WSO2 Message Broker 仅支持 Direct 和 Topic 交换类型。 FanOut 和 Headers 交换类型不受支持,当我使用它们时它会失败。 WSO2 消息代理由Andes broker engine 提供支持。 Andes 文档仅讨论了基于队列和主题的两种消息传递模式,并没有讨论正在使用的任何交换类型。通过反编译 WSO2 Message Broker JAR 文件进一步挖掘源代码,我看到“amq.direct”、“amq.topic”、“amq.fanout”和“amq.match”(标头)交换名称正在使用,但没有确定是否全部实施。

    【讨论】:

      猜你喜欢
      • 2013-02-19
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多