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