Apache qpid稼働確認時のメモ

※ CentOS6のqpidで確認
CentOS python-qpidパッケージにはいくつかサンプルのスクリプトが付いてきており、そちらを使って、qpidの動作確認をする場合のメモ。
ファイルの置き場所は /usr/share/doc/python-qpid-0.14/examples/api/ で使用するファイルは hello, drain, spoutとなる。
helloは指定されたキューにメッセージを書き込み、そのまま受信するので単体で使える。(Exchangeに対しても使用可能)
drain, spoutはそれぞれ受信/送信だけを行うので、組み合わせて使う。(Queueではなく、Exchangeに対して使う場合はは工夫が必要。。)

qpidのインストールを終えたら、まずhello で helloworldがかえってくるかを確認する。(単体qpidでの疎通確認)

./hello

その後、drain -r -f amq.fanout を実行しつつ, spout amq.fanout で、任意のexchange, queue 指定でメッセージ送信が出来るかを確認する(bind, routing のテストにも使える)

./drain -r -f amq.fanout
./spout amq.fanout

※ amq.fanoutはqueueではなく、exchangeのため、メッセージを受信するためには、drainの-fオプションが必要なことに注意。。

サイズの異なるメッセージを送りたい場合第2引数にテキストファイルを指定するとそちらをメッセージに含めることが出来る。

./spout amq.fanout $(cat aaa)

queueを作成したい場合はqpid-config (qpid-tools パッケージを使用)

qpid-config add queue キュー名

※ デフォルトで作成されているamq.fanout, amq.topic などはExchangeで、メッセージを貯めることが出来ないので注意。。

queueが作成されたかどうかはqpid-config で確認できる。

qpid-config
qpid-config queues

なお、キュー定義をdurableにしておかないと、qpidd再起動時にキューが消えてしまうので注意。(qpid-cpp-server-store パッケージが必要)

qpid-config add queue キュー名 --durable