El método PublishMessages se usa para enviar un mensaje al servidor AMQP.
Los servidores AMQP vinculan automáticamente las colas al exchange "direct" usando el nombre de la cola como routing key. Esto permite enviar un mensaje a una cola especÃfica sin necesidad de declarar un binding (basta con llamar al método PublishMessage pasando el argumento Exchange como valor vacÃo y el nombre de la cola en el argumento RoutingKey).
Publicar mensajes
El método tiene los siguientes argumentos:
- ChannelName: es el nombre del canal (debe estar abierto antes de llamar a este método).
- ExchangeName: es el nombre del exchange, no debe superar los 255 caracteres ni comenzar por "amq." (excepto si el parámetro passive es true).
- RoutingKey: es el nombre de la routing key del binding.
- Mandatory: si es true y el mensaje no puede enrutarse a ninguna cola, el servidor devuelve el mensaje y se dispara el evento OnAMQPBasicReturn.
- Immediate: si es true y el mensaje no puede enrutarse a ninguna cola, el servidor devuelve el mensaje y se dispara el evento OnAMQPBasicReturn.
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;
