2

我正在开发一个 iOS 应用程序并为 RabbitMQ https://github.com/profmaad/librabbitmq-objc使用 profmaad 的 Objective-c 客户端

这是我用来建立连接并开始监听事件的代码:

-(void)establish{

   AMQPConnection *connection = [[AMQPConnection alloc] init];
   [connection connectToHost:<host> onPort:<port number>];
   [connection loginAsUser:<username> withPasswort:<password> onVHost:<vHost>];

   AMQPChannel *channel = [connection openChannel];
   AMQPQueue *queue = [[AMQPQueue alloc] initWithName:<queue name> onChannel:channel isPassive:NO isExclusive:NO isDurable:NO getsAutoDeleted:NO];

   AMQPConsumer *consumer = [[AMQPConsumer alloc] initForQueue:queue onChannel:channel useAcknowledgements:YES isExclusive:NO receiveLocalMessages:NO];
   AMQPConsumerThread *consumerThread = [[AMQPConsumerThread alloc] initWithConsumer:consumer];
   consumerThread.delegate = self;
}
-(void)amqpConsumerThreadReceivedNewMessage:(AMQPMessage *)theMessage
{
   NSLog(@"message = %@", theMessage);
   NSLog(@"message.body = %@", theMessage.body);
}

问题是,从未调用过 amqpConsumerThreadReceivedNewMessage!

4

1 回答 1

3

您需要先启动消费者线程。

[consumerThread start];
于 2012-12-27T17:33:15.233 回答