命令 | AMQP 获取消息

获取消息是一个 任务,这意味着是客户端向服务器询问队列中是否有消息。您可以阅读异步接收消息的替代方法。

 

获取消息

GetMessage 方法向 AMQP 服务器发送请求,询问队列中是否有可用消息。如果有消息,将通过 OnAMQPBasicGetOk 事件分发;如果队列为空,则调用事件 OnAMQPBasicGetEmpty

 

该方法具有以下参数:

 

 


AMQP.GetMessage('channel_name', 'queue_name');
 
procedure OnAMQPBasicGetOk(Sender: TObject; const aChannel: string; 
  const aGetOk: TsgcAMQPFramePayload_Method_BasicGetOk; 
  const aContent: TsgcAMQPMessageContent);
begin
  DoLog('#AMQP_basic_GetOk: ' + aChannel + ' ' + IntToStr(aGetOk.MessageCount) + ' ' + aContent.Body.AsString);
end;
 
procedure OnAMQPBasicGetEmpty(Sender: TObject; const aChannel: string);
begin
  DoLog('#AMQP_basic_GetEmpty: ' + aChannel);
end;

可通过调用方法 GetMessageEx 执行同步调用,若队列中有可用消息则返回 true,否则返回 false。