rabbitmq学习3:Publish/Subscribe
??在前面的Work Queue中的消息是均匀分配消息给消费者;如果我想把消息分发给所有的消费者呢?那应当怎么操作呢?这就是要下面提到的Publish/Subscribe(分布/订阅)。让我们开始Publish/Subscribe之旅吧!
Publish/Subscribe的工作示意图如下:
在上图中的X表示Exchange(交换区);Exchange的类型有:
?
那我们就开始程序代码吧:P端的代码如下:
?
?运行结果如下:
?
对于C端的代码我写了二个差不多的程序,只需要修改一下queueName。这样就形成了二个Queue;运行结果相同;
运行结果可能如下:
//声明此队列并且持久化 channel.queueDeclare(TASK_QUEUE_NAME, true, false, false, null);
然后发布的时候指定就可以了!
3 楼 jiangduxi 2012-01-05 你好,麻烦请教下。send端可以通过某些事件来触发将message发送到Queue中。那么Received端在测试时候用main方法来触发,还可以怎么让它启动。进行ReceivedMessage 呢? 谢谢! 4 楼 wubin850219 2012-01-09 jiangduxi 写道你好,麻烦请教下。send端可以通过某些事件来触发将message发送到Queue中。那么Received端在测试时候用main方法来触发,还可以怎么让它启动。进行ReceivedMessage 呢? 谢谢!
可以通过监听的方式来,后面有介绍