La méthode PublishMessages sert à envoyer un message au serveur AMQP.
Les serveurs AMQP lient automatiquement les files à l'exchange « direct » en utilisant le nom de la file comme routing key. Cela permet d'envoyer un message à une file spécifique sans avoir à déclarer de liaison (en appelant simplement la méthode PublishMessage et en passant l'argument Exchange vide et le nom de la file dans l'argument RoutingKey).
Publier des messages
La méthode prend les arguments suivants :
- ChannelName : nom du canal (doit être ouvert avant d'appeler cette méthode).
- ExchangeName : nom de l'exchange ; ne doit pas dépasser 255 caractères et ne pas commencer par « amq. » (sauf si le paramètre passive est vrai).
- RoutingKey : nom de la routing key de la liaison.
- Mandatory : si vrai et que le message ne peut être routé vers aucune file, le message est retourné par le serveur et l'événement OnAMQPBasicReturn est levé.
- Immediate : si vrai et que le message ne peut être routé vers aucune file, le message est retourné par le serveur et l'événement OnAMQPBasicReturn est levé.
AMQP.PublishMessage('channel_name', 'exchange_name', 'routing_key', 'Hello from sgcWebSockets!!!');
procedure OnAMQPBasicReturn(Sender: TObject; const aChannel: string; const aReturn: TsgcAMQPFramePayload_Method_BasicReturn; const aContent: TsgcAMQPMessageContent);
begin
DoLog('#AMQP_basic_return: ' + aChannel + ' ' + IntToStr(aReturn.ReplyCode) + ' ' + aReturn.ReplyText + ' ' + aContent.Body.AsString);
end;
