⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlblaster.pm

📁 java开源的企业总线.xmlBlaster
💻 PM
字号:
# XmlBlaster.pm##       use XMLRPC (Frontier) for connecting to xmlBlaster## 04/07/02 17:17 mad@ktaland.com#       upgrade# 14/02/02 08:32 mad@ktaland.com#package xmlBlaster::XmlBlaster ;use Data::Dumper;use Frontier::Client;use xmlBlaster::Exception ;use xmlBlaster::ConnectQos ;use xmlBlaster::MsgUnit ;use xmlBlaster::PublishReturnQos ;use strict;##############sub new{        my $class = shift;        # init from hash        my $self = ($#_ == 0) ? { %{ (shift) } } : { @_ };        bless( $self, $class );        $self->{'user'} = 'test' if( ! exists $self->{'user'} );        $self->{'passwd'} = 'secret' if( ! exists $self->{'passwd'} );        $self->{'host'} = 'localhost:8080' if( ! exists $self->{'host'} );        $self->{'server'} = undef ;        $self->{'sessionId'} = undef ;        return $self ;}#new################sub _getServer {        my $self = shift ;        if( ! defined($self->{'server'}) ){                $self->{'server'} = Frontier::Client->new( url => 'http://'.$self->{'host'}.'/' );        }        return $self->{'server'} ;}#_getServer################sub connect{        my $self = shift ;        my $srv = $self->_getServer();        my $loginQos = xmlBlaster::ConnectQos->new(                        {                        'user' => $self->{'user'} ,                        'passwd'=>$self->{'passwd'} ,                        }                );        #print '='x40,"\nConnectQos XML :\n",Dumper( $loginQos->xml ),"\n",'='x40,"\n" ;        my $xml = $srv->call( 'authenticate.connect', $loginQos->xml );        #print '='x40,"\nConnectReturnQos XML :\n",Dumper( $xml ),"\n",'='x40,"\n" ;        $self->{'sessionId'} = $loginQos->sessionId( $xml ) ;        #print '='x40,"\nConnect loginQos :\n",Dumper( $loginQos ),"\n",'='x40,"\n" ;        return $self->{'sessionId'} ?1 :0 ;}#connect##############sub logout{        my $self = shift ;        # Logout from xmlBlaster        $self->{'server'}->call( 'authenticate.logout', $self->{'sessionId'} );        return 1 ;}#logout#############       parameters :#               - $key : must be defined#               - $content : optional#               - $qos : optionalsub publish{        my( $self, $key, $content, $qos )=@_;        my $srv = $self->_getServer();        # a default empty key.        $key = '' if( ! $key ) ;        # a default Qos.        $qos = '<qos></qos>' if( ! $qos || $qos eq '' ) ;        # a default empty content.        $content = '' if( ! $content || $content eq '' ) ;        # 08/07/02 16:30 cyrille@ktaland.com         # no publish return a string like :        #        #       <qos><state id=\'OK\'/><key oid=\'http://213.186.34.8:40000-1026138362565-3\'/></qos>        #        my $xml = $self->{'server'}->call( 'xmlBlaster.publish', $self->{'sessionId'}, $key,$content,$qos );        #print '='x40,"\n",Dumper( $xml ),"\n",'='x40,"\n" ;        my $publishretqos = xmlBlaster::PublishReturnQos->new( $xml );        #print '='x40,"\n",Dumper( $publishretqos ),"\n",'='x40,"\n" ;        return $publishretqos->keyOid() ;}#publish#############       parameters :#               - $key : must be defined#               - $qos : optionalsub get{        my( $self, $key, $qos )=@_;        if( ! $key ){                throw( new xmlBlaster::Exception( code => 'XMLBLASTER_ERROR',                                                        info => [ __FILE__ . ' at Line ' . __LINE__,                                                                        'Need a valid key for querying message !'                                                                         ]                                                                        ) );        }        # a default Qos        $qos = '<qos></qos>' if( ! $qos || $qos eq '' ) ;        my $messages = $self->{'server'}->call( 'xmlBlaster.get', $self->{'sessionId'}, $key ,$qos );        return $messages ;}#get#############       parameters :#               - $key : must be defined#               - $qos : optionalsub erase{        my( $self, $key, $qos )=@_;        if( ! $key ){                throw( new xmlBlaster::Exception( code => 'XMLBLASTER_ERROR',                                                        info => [ __FILE__ . ' at Line ' . __LINE__,                                                                        'Need a valid key for erasing message !'                                                                         ]                                                                        ) );        }        # a default Qos        $qos = '<qos></qos>' if( ! $qos || $qos eq '' ) ;        my $some_eraseRetQos = $self->{'server'}->call( 'xmlBlaster.erase', $self->{'sessionId'}, $key ,$qos );        return $some_eraseRetQos ;}#erase###################sub DESTROY{        my( $self ) = @_;    return 1;}#DESTROY1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -