AMQP 0.9.1 プロトコル

RabbitMQ で広く利用されている AMQP のバージョンです。Exchange、Queue、Binding、コンシューマー確認応答、トランザクションを完全にサポートします。

TsgcWSPClient_AMQP

AMQP 0-9-1 サブプロトコルクライアントです。WebSocket または生 TCP キャリア上で、Exchange、Queue、Binding、basic.publish / basic.consume、トランザクション、Confirm をサポートします。

コンポーネントクラス

TsgcWSPClient_AMQP

プロトコル

AMQP 0-9-1

プラットフォーム

Windows, macOS, Linux, iOS, Android

エディション

Professional / Enterprise

コンポーネントを配置し、プロパティを設定すれば準備完了

TsgcWebSocketClient と TsgcWSPClient_AMQP を組み合わせ、チャネルを開き、Exchange / Queue を宣言してパブリッシュおよびコンシュームします。

uses
  sgcWebSocket, sgcWebSocket_Protocol_AMQP_Client, sgcAMQP_Classes;

var
  WSClient: TsgcWebSocketClient;
  AMQP: TsgcWSPClient_AMQP;
begin
  WSClient := TsgcWebSocketClient.Create(nil);
  WSClient.Host := 'broker.example.com';
  WSClient.Port := 15674;
  WSClient.Options.Parameters := '/ws';

  AMQP := TsgcWSPClient_AMQP.Create(nil);
  AMQP.Client := WSClient;

  AMQP.OnAMQPConnect      := AMQPConnect;
  AMQP.OnAMQPBasicDeliver := AMQPBasicDeliver;

  WSClient.Active := True;
end;

procedure TForm1.AMQPConnect(Sender: TObject);
begin
  AMQP.OpenChannel('ch1');
  AMQP.DeclareExchange('ch1', 'orders', 'direct');
  AMQP.DeclareQueue('ch1', 'orders_in');
  AMQP.BindQueue('ch1', 'orders_in', 'orders', 'create');
  AMQP.Consume('ch1', 'orders_in');

  // Publish a message
  AMQP.PublishMessage('ch1', 'orders', 'create', '{"id":42}');
end;

主な機能

6 件の公開プロパティ、41 件のメソッド、25 件のイベント — コンポーネントリファレンスから抜粋しています。

接続

公開プロパティ: ClientBrokerGuid

信頼性

公開プロパティ: HeartBeat

認証

イベント: OnAMQPAuthenticationOnAMQPChallenge

ライフサイクル

イベント: OnAMQPConnectOnAMQPDisconnectOnAMQPException

上級

メソッド: WriteData

診断

公開プロパティ: Version

仕様と参考資料

このコンポーネントが実装するプロトコルの一次資料です。

ドキュメントとデモ

コンポーネントリファレンスへのディープリンク、すぐに実行可能なデモプロジェクト、そして体験版のダウンロードはこちらです。

デモプロジェクト — Demos\Protocols\AMQP\091 すぐに実行可能なサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています。下記より体験版をダウンロードしてください。
技術ドキュメント (PDF) 本コンポーネントのみを対象とした機能解説、クイックスタート、Delphi および C++ Builder のコードサンプル、一次資料への参照を収録しています。
ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した総合マニュアルです。

AMQP 0.9.1 を使い始めませんか?

体験版をダウンロードして、数分で RabbitMQ に接続できます。