1

Perl から EMS サーバーで実行されているキューに EMS メッセージを送信しようとしています。メッセージを送信するためにSTOMPモジュールを使用してEMSキューに接続しています。ここに私のコードがあります -

JMSQUEUE.pl:

use Net::Stomp;
use Net::Stomp::Frame;
my $stomp = Net::Stomp->new( { hostname => 'localhost', port => '7222' } );
$stomp->connect( { login => 'admin', passcode => '' } );
$stomp->send( { destination => '/queue/pradeepexp', body => 'test message' } );
$stomp->disconnect;

そして私のモジュールでは - STOMP.PM:

sub connect {
    my ( $self, $conf ) = @_;

    my $frame =
      Net::Stomp::Frame->new( { command => 'CONNECT', headers => $conf } );
    $self->send_frame($frame);
    $frame = $self->receive_frame;

    # Setting initial values for session id, as given from
    # the stomp server
    $self->session_id( $frame->headers->{session} );
    $self->_connect_headers($conf);

    return $frame;
}

接続を呼び出す前に必要な設定はありますか?

4

2 に答える 2

3

PerlからApacheMQにメッセージを送信する際にも同じ問題がありました。(Perl + Net-Stomp-0.45 + apache-activemq-5.8)

ちょっとしたミスでした。このファイルharddisk\apache-activemq-5.8\conf\activemq.xmlで正しいtransportConnectorsを設定することが重要です。

<transportConnectors>
   <transportConnector name="stomp" uri="stomp://localhost:61616"/>
</transportConnectors>

その後、正常に動作します:D 詳細については: http://activemq.apache.org/stomp.html

EMSにも同様のファイルがあるかもしれません。

于 2013-06-25T09:34:14.917 に答える