Net::Stomp - ActiveMQでMessaging Queueやってみた
'07。10。26のTech-RD MTGでの内容である Net::Stomp - ActiveMQで
Message Queueの話。
もともと、Sennaに気合入れるはずだったのに、なんだかへんだったので
K国のD社のLさんから"Net::Stompをしらべて見たら?"といわれた!
で、CPANで検索して Module Install.
daemonとして、activeMQっていう Apache Software Foundationのものがいいと言われてそれをInstall. ベースはJAVAなんで JDK必須かも(いつのまにかInstallされていたのかな)
1. activeMQを立ち上げて
2. Stomp Clientを書く
#!/usr/bin/perl
# stomp.pl
use Net::Stomp;
my $stomp = Net::Stomp->new( { hostname => 'localhost', port => '61626' });
$stomp->connect( { login => 'rotfl', passcode => 'orzorz' });
$stomp->send({ destination => '/queue/foo', body => "This is Sparta~!!!" });
$stomp->disconnect;
こんなスクリプトを書いて perl stomp.pl やってみると!!!!!
.
.
.
.
なにもでてこない。activeMQにはなにもかわったことないらしいし。
で、CPANのTutorialをみると
#!/usr/bin/perl
# stomp_sub.pl
use Net::Stomp;
my $stomp = Net::Stomp->new( { hostname => 'localhost', port => '61626' });
$stomp->connect( { login => 'rotfl', passcode => 'orzorz' });
$stomp->subscribe(
{ destination => '/queue/foo',
'ack' => 'client',
'activemq.prefetchSize' => 10
});
while(1) {
my $frame = $stomp->receive_frame;
warn $frame->body;
$stomp->ack( { frame => $frame });
}
$stomp->disconnect;
こんなものがあり、なにかと思ったら
前のがMessage Sendで これがMessage Receiveっていう感じ?
/queue/fooでどんどん貯まってる "This is Sparta!!!!!!"がどんどん出て来る!
これで、"あーできるんだ"で終りではないんでしょう?
ちょっとやってみよう!
.
.
.
.
あとで....