PublishMessages metodu, AMQP sunucusuna bir mesaj göndermek için kullanılır.
AMQP Sunucuları, kuyruk adını yönlendirme anahtarı olarak kullanarak kuyrukları otomatik olarak "direct" exchange'e bağlar. Bu, bir bağlama bildirmeye gerek kalmadan belirli bir kuyruğa mesaj göndermeye olanak tanır (yalnızca PublishMessage metodunu çağırıp Exchange bağımsız değişkenini boş değer olarak ve kuyruğun adını RoutingKey bağımsız değişkeninde geçirerek).
Mesaj Yayınlama
Metot aşağıdaki bağımsız değişkenlere sahiptir:
- ChannelName: kanalın adıdır (bu metot çağrılmadan önce açık olmalıdır).
- ExchangeName: exchange'in adıdır, 255 karakterden uzun olmamalı ve "amq." ile başlamamalıdır (passive parametresi true ise hariç).
- RoutingKey: bağlamanın yönlendirme anahtarı adıdır.
- Mandatory: true ise ve mesaj herhangi bir kuyruğa yönlendirilemezse, mesaj sunucu tarafından döndürülür, OnAMQPBasicReturn olayı tetiklenir.
- Immediate: true ise ve mesaj herhangi bir kuyruğa yönlendirilemezse, mesaj sunucu tarafından döndürülür, OnAMQPBasicReturn olayı tetiklenir.
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;
