【发布时间】:2013-09-24 12:57:00
【问题描述】:
情况就是这样。
我正在使用 PHP PECL AMQP RabbitMQ 客户端。当我第一次尝试发送消息进行交换时,没有任何反应。似乎消息还没有发送,AMQPQueue::get 什么也不返回,即使 AMQPExchange::publish 返回 true。
之后(即第二次交换声明之后)一切正常。
会是什么?
UPD。代码示例。
<?php
$connection = new AMQPConnection;
//config...
$connection->connect();
$channel = new AMQPChannel($connection);
$exchange = new AMQPExchange($channel);
$exchange->setName('test_exchange');
$exchange->setType(AMQP_EX_TYPE_DIRECT);
$exchange->declareExchange();
$exchange->setFlags(AMQP_DURABLE);
$exchange->bind('test_exchange', 'test_routing_key');
$exchange->publish('test_message', 'test_routing_key');
$queue = new AMQPQueue($channel);
$queue->setName('test_routing_key');
$queue->declareQueue();
$queue->bind('test_exchange', 'test_routing_key');
var_dump($queue->get(AMQP_AUTOACK));
【问题讨论】:
-
可以粘贴代码吗
-
可以粘贴代码吗
-
你去,示例代码。