非常に時間がかかる処理や、ブラウザからの要求時点では完了できないような処理を、非同期実行するためのメッセージバスとしてActiveMQを使用している。
ウェブアプリおよびバックエンドの処理は主にperlで作成。ActiveMQとのやりとりにはNet::Stompモジュール。
現在は、単一のサーバで実行していて、localでメッセージを投げて受ける状態。STOMPの接続先としてlocalhostを指定していた。
そしたら、下記のようなメッセージとともにNet::Stomp->newがこける。
Error connecting to localhost:61613: 無効な引数です at /usr/lib/perl5/site_perl/5.8.8/Net/Stomp.pm line 19.なんでかなー、と思ったら、/etc/hostsに以下のように記述されていた。
::1 host localhost.localdomain localhostので、Net::Stompに指定する接続先を「127.0.0.1」に変えたらうまくいった。えらい悩んでしまった。。。
IPv6が有効になってる環境では要注意かも。
はてなRSSのキーワードウォッチがすごく便利で、いくつかのジャンルのネタ拾いをしているのだけど、「STOMP」って単語にスカパラその他音楽関係がどんどこヒットしてきて、ちょい困る(^^; >> Home