diff options
| author | Darryl L. Pierce <mcpierce@apache.org> | 2012-11-27 18:08:05 +0000 |
|---|---|---|
| committer | Darryl L. Pierce <mcpierce@apache.org> | 2012-11-27 18:08:05 +0000 |
| commit | 90487b320d82dd94bdeffc4ecb4fecd0114aba04 (patch) | |
| tree | a87d17a03cd3e08a672fe04d39b38f789a5aed0b /cpp/bindings | |
| parent | 89d1884550efb091d2b47ba93764d218feaae68b (diff) | |
| download | qpid-python-90487b320d82dd94bdeffc4ecb4fecd0114aba04.tar.gz | |
QPID-4214 : Updated all Perl examples to work with the new Perl APIs.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1414296 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/bindings')
| -rw-r--r-- | cpp/bindings/qpid/examples/perl/README | 26 | ||||
| -rwxr-xr-x[-rw-r--r--] | cpp/bindings/qpid/examples/perl/client.pl | 24 | ||||
| -rwxr-xr-x[-rw-r--r--] | cpp/bindings/qpid/examples/perl/drain.pl | 46 | ||||
| -rwxr-xr-x[-rw-r--r--] | cpp/bindings/qpid/examples/perl/hello_world.pl | 24 | ||||
| -rwxr-xr-x[-rw-r--r--] | cpp/bindings/qpid/examples/perl/hello_xml.pl | 26 | ||||
| -rwxr-xr-x[-rw-r--r--] | cpp/bindings/qpid/examples/perl/map_receiver.pl | 15 | ||||
| -rwxr-xr-x[-rw-r--r--] | cpp/bindings/qpid/examples/perl/map_sender.pl | 22 | ||||
| -rwxr-xr-x[-rw-r--r--] | cpp/bindings/qpid/examples/perl/server.pl | 25 | ||||
| -rwxr-xr-x[-rw-r--r--] | cpp/bindings/qpid/examples/perl/spout.pl | 16 |
9 files changed, 100 insertions, 124 deletions
diff --git a/cpp/bindings/qpid/examples/perl/README b/cpp/bindings/qpid/examples/perl/README deleted file mode 100644 index 1e113f1fa0..0000000000 --- a/cpp/bindings/qpid/examples/perl/README +++ /dev/null @@ -1,26 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -The examples in this directory are written against the raw Perl -binding ("cqpid"). This binding is identical to the C++ messaging (in -namespace qpid::messaging). - -It is desired that a layer will be written over this interface (called -"qpid") that provides a more Perl-specific API. When this occurs, -these examples will be changed to use the new Perl API. - diff --git a/cpp/bindings/qpid/examples/perl/client.pl b/cpp/bindings/qpid/examples/perl/client.pl index 19d9d3f14f..5f9d1ff130 100644..100755 --- a/cpp/bindings/qpid/examples/perl/client.pl +++ b/cpp/bindings/qpid/examples/perl/client.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -20,23 +20,23 @@ use strict; use warnings; -use cqpid_perl; +use qpid; my $url = ( @ARGV == 1 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672"; -my $connectionOptions = ( @ARGV > 1 ) ? $ARGV[1] : ""; +my $connectionOptions = ( @ARGV > 1 ) ? $ARGV[1] : ""; -my $connection = new cqpid_perl::Connection($url, $connectionOptions); +my $connection = new qpid::messaging::Connection($url, $connectionOptions); eval { $connection->open(); -my $session = $connection->createSession(); +my $session = $connection->create_session(); -my $sender = $session->createSender("service_queue"); +my $sender = $session->create_sender("service_queue"); #create temp queue & receiver... -my $responseQueue = new cqpid_perl::Address("#response-queue; {create:always, delete:always}"); -my $receiver = $session->createReceiver($responseQueue); +my $responseQueue = new qpid::messaging::Address("#response-queue; {create:always, delete:always}"); +my $receiver = $session->create_receiver($responseQueue); #Now send some messages... @@ -47,13 +47,13 @@ my @s = ( "And the mome raths outgrabe." ); -my $request = new cqpid_perl::Message(); -$request->setReplyTo($responseQueue); +my $request = new qpid::messaging::Message(); +$request->set_reply_to($responseQueue); for (my $i=0; $i<4; $i++) { - $request->setContent($s[$i]); + $request->set_content($s[$i]); $sender->send($request); my $response = $receiver->fetch(); - print $request->getContent() . " -> " . $response->getContent() . "\n"; + print $request->get_content() . " -> " . $response->get_content() . "\n"; } $connection->close(); diff --git a/cpp/bindings/qpid/examples/perl/drain.pl b/cpp/bindings/qpid/examples/perl/drain.pl index 78dd8b95c3..2da28f2867 100644..100755 --- a/cpp/bindings/qpid/examples/perl/drain.pl +++ b/cpp/bindings/qpid/examples/perl/drain.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -20,7 +20,7 @@ use strict; use warnings; -use cqpid_perl; +use qpid; use Getopt::Long; use Pod::Usage; @@ -48,7 +48,7 @@ if ($#ARGV ge 0) { } sub getTimeout { - return ($forever) ? $cqpid_perl::Duration::FOREVER : new cqpid_perl::Duration($timeout*1000); + return ($forever) ? qpid::messaging::Duration::FOREVER : new qpid::messaging::Duration($timeout*1000); } sub printProperties { @@ -56,34 +56,41 @@ sub printProperties { return qq[{${\(join', ',map"'$_': '$h->{$_}'",keys%$h)}}] } -my $connection = new cqpid_perl::Connection($url, $connectionOptions); +my $connection = new qpid::messaging::Connection($url, $connectionOptions); eval { $connection->open(); - my $session = $connection->createSession(); - my $receiver = $session->createReceiver($address); + my $session = $connection->create_session(); + my $receiver = $session->create_receiver($address); my $timeout = getTimeout(); - - my $message = new cqpid_perl::Message(); + my $message = new qpid::messaging::Message(); my $i = 0; - while($receiver->fetch($message, $timeout)) { - my $redelivered = ($message->getRedelivered) ? "redelivered=True, " : ""; - print "Message(" . $redelivered . "properties=" . printProperties($message->getProperties()) . ", content='"; - if ($message->getContentType() eq "amqp/map") { - my $content = cqpid_perl::decodeMap($message); + for (;;) { + eval { + $message = $receiver->fetch($timeout); + }; + + if ($@) { + last; + } + + my $redelivered = ($message->get_redelivered) ? "redelivered=True, " : ""; + print "Message(" . $redelivered . "properties=" . printProperties($message->get_properties()) . ", content='"; + if ($message->get_content_type() eq "amqp/map") { + my $content = qpid::messasging::decode_map($message); map{ print "\n$_ => $content->{$_}"; } keys %{$content}; } else { - print $message->getContent(); + print $message->get_content(); } print "')\n"; - my $replyto = $message->getReplyTo(); - if ($replyto->getName()) { - print "Replying to " . $message->getReplyTo()->str() . "...\n"; - my $sender = $session->createSender($replyto); - my $response = new cqpid_perl::Message("received by the server."); + my $replyto = $message->get_reply_to(); + if ($replyto->get_name()) { + print "Replying to " . $message->get_reply_to()->str() . "...\n"; + my $sender = $session->create_sender($replyto); + my $response = new qpid::messaging::Message("received by the server."); $sender->send($response); } $session->acknowledge(); @@ -92,6 +99,7 @@ eval { last; } } + $receiver->close(); $session->close(); $connection->close(); diff --git a/cpp/bindings/qpid/examples/perl/hello_world.pl b/cpp/bindings/qpid/examples/perl/hello_world.pl index a96b98a002..faf9cd3638 100644..100755 --- a/cpp/bindings/qpid/examples/perl/hello_world.pl +++ b/cpp/bindings/qpid/examples/perl/hello_world.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -21,33 +21,27 @@ use strict; use warnings; use Data::Dumper; -use cqpid_perl; +use qpid; my $broker = ( @ARGV > 0 ) ? $ARGV[0] : "localhost:5672"; my $address = ( @ARGV > 1 ) ? $ARGV[0] : "amq.topic"; my $connectionOptions = ( @ARGV > 2 ) ? $ARGV[1] : ""; -my $connection = new cqpid_perl::Connection($broker, $connectionOptions); +my $connection = new qpid::messaging::Connection($broker, $connectionOptions); eval { $connection->open(); - my $session = $connection->createSession(); - my $receiver = $session->createReceiver($address); - my $sender = $session->createSender($address); + my $session = $connection->create_session(); - $sender->send(new cqpid_perl::Message("Hello world!")); + my $receiver = $session->create_receiver($address); + my $sender = $session->create_sender($address); - #my $duration = new cqpid_perl::Duration(1000); - #print ">>>" . $duration->getMilliseconds() . "\n"; + $sender->send(new qpid::messaging::Message("Hello world!")); - my $message = $receiver->fetch($cqpid_perl::Duration::SECOND); + my $message = $receiver->fetch(qpid::messaging::Duration::SECOND); - #$message->setDurable(1); - #print "Durable: " . $message->getDurable() . "\n"; - #print Dumper($message->getProperties()); - - print $message->getContent() . "\n"; + print $message->get_content() . "\n"; $session->acknowledge(); $connection->close(); diff --git a/cpp/bindings/qpid/examples/perl/hello_xml.pl b/cpp/bindings/qpid/examples/perl/hello_xml.pl index cebf2ceee6..51ccb8bd23 100644..100755 --- a/cpp/bindings/qpid/examples/perl/hello_xml.pl +++ b/cpp/bindings/qpid/examples/perl/hello_xml.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -20,7 +20,7 @@ use strict; use warnings; -use cqpid_perl; +use qpid; my $broker = ( @ARGV > 0 ) ? $ARGV[0] : "localhost:5672"; my $connectionOptions = ( @ARGV > 1 ) ? $ARGV[1] : ""; @@ -36,7 +36,7 @@ END my $address = <<END; xml-exchange; { -create: always, +create: always, node: { type: topic, x-declare: { type: xml } }, link: { x-bindings: [{ exchange: xml-exchange, key: weather, arguments: { xquery:" $query" } }] @@ -44,15 +44,15 @@ x-bindings: [{ exchange: xml-exchange, key: weather, arguments: { xquery:" $quer END -my $connection = new cqpid_perl::Connection($broker, $connectionOptions); +my $connection = new qpid::messaging::Connection($broker, $connectionOptions); eval { $connection->open(); - my $session = $connection->createSession(); + my $session = $connection->create_session(); - my $receiver = $session->createReceiver($address); - - my $message = new cqpid_perl::Message(); + my $receiver = $session->create_receiver($address); + + my $message = new qpid::messaging::Message(); my $content = <<END; <weather> @@ -62,13 +62,13 @@ eval { <dewpoint>35</dewpoint> </weather> END - - $message->setContent($content); - my $sender = $session->createSender('xml-exchange/weather'); + + $message->set_content($content); + my $sender = $session->create_sender('xml-exchange/weather'); $sender->send($message); - + my $response = $receiver->fetch(); - print $response->getContent() . "\n"; + print $response->get_content() . "\n"; $connection->close(); }; diff --git a/cpp/bindings/qpid/examples/perl/map_receiver.pl b/cpp/bindings/qpid/examples/perl/map_receiver.pl index 2e2611e38f..048209fe75 100644..100755 --- a/cpp/bindings/qpid/examples/perl/map_receiver.pl +++ b/cpp/bindings/qpid/examples/perl/map_receiver.pl @@ -1,4 +1,4 @@ -#! /usr/bin/perl5 +#! /usr/bin/env perl # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -21,22 +21,21 @@ use strict; use warnings; use Data::Dumper; -use cqpid_perl; +use qpid; my $url = ( @ARGV > 0 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672"; my $address = ( @ARGV > 1 ) ? $ARGV[0] : "message_queue; {create: always}"; my $connectionOptions = ( @ARGV > 2 ) ? $ARGV[1] : ""; -my $connection = new cqpid_perl::Connection($url, $connectionOptions); +my $connection = new qpid::messaging::Connection($url, $connectionOptions); eval { $connection->open(); - my $session = $connection->createSession(); - my $receiver = $session->createReceiver($address); + my $session = $connection->create_session(); + my $receiver = $session->create_receiver($address); + + my $content = qpid::messaging::decode_map($receiver->fetch()); - my $content = cqpid_perl::decodeMap($receiver->fetch()); - #my $content = cqpid_perl::decodeList($receiver->fetch()); - print Dumper($content); $session->acknowledge(); diff --git a/cpp/bindings/qpid/examples/perl/map_sender.pl b/cpp/bindings/qpid/examples/perl/map_sender.pl index 4107cd48b9..4aae7b6b0e 100644..100755 --- a/cpp/bindings/qpid/examples/perl/map_sender.pl +++ b/cpp/bindings/qpid/examples/perl/map_sender.pl @@ -1,4 +1,4 @@ -#! /usr/bin/perl5 +#! /usr/bin/env perl # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -21,27 +21,27 @@ use strict; use warnings; use Data::Dumper; -use cqpid_perl; +use qpid; my $url = ( @ARGV > 0 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672"; my $address = ( @ARGV > 1 ) ? $ARGV[1] : "message_queue; {create: always}"; my $connectionOptions = ( @ARGV > 2 ) ? $ARGV[2] : ""; -my $connection = new cqpid_perl::Connection($url, $connectionOptions); +my $connection = new qpid::messaging::Connection($url, $connectionOptions); eval { $connection->open(); - my $session = $connection->createSession(); - my $sender = $session->createSender($address); + my $session = $connection->create_session(); + my $sender = $session->create_sender($address); - my $message = new cqpid_perl::Message(); - my $content = { id => 987654321, - name => "Widget", - percent => sprintf("%.2f", 0.99), - colours => [ qw (red green white) ], + my $message = new qpid::messaging::Message(); + my $content = { id => 987654321, + name => "Widget", + percent => sprintf("%.2f", 0.99), + colours => [ qw (red green white) ], }; - cqpid_perl::encode($content, $message); + qpid::messaging::encode($content, $message); $sender->send($message, 1); $connection->close(); diff --git a/cpp/bindings/qpid/examples/perl/server.pl b/cpp/bindings/qpid/examples/perl/server.pl index b14da565b9..7dbe7bc51c 100644..100755 --- a/cpp/bindings/qpid/examples/perl/server.pl +++ b/cpp/bindings/qpid/examples/perl/server.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -20,34 +20,35 @@ use strict; use warnings; -use cqpid_perl; +use qpid; my $url = ( @ARGV == 1 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672"; -my $connectionOptions = ( @ARGV > 1 ) ? $ARGV[1] : ""; +my $connectionOptions = ( @ARGV > 1 ) ? $ARGV[1] : ""; -my $connection = new cqpid_perl::Connection($url, $connectionOptions); +my $connection = new qpid::messaging::Connection($url, $connectionOptions); eval { $connection->open(); - my $session = $connection->createSession(); + my $session = $connection->create_session(); - my $receiver = $session->createReceiver("service_queue; {create: always}"); + my $receiver = $session->create_receiver("service_queue; {create: always}"); while (1) { my $request = $receiver->fetch(); - my $address = $request->getReplyTo(); + my $address = $request->get_reply_to(); + if ($address) { - my $sender = $session->createSender($address); - my $s = $request->getContent(); + my $sender = $session->create_sender($address); + my $s = $request->get_content(); $s = uc($s); - my $response = new cqpid_perl::Message($s); + my $response = new qpid::messaging::Message($s); $sender->send($response); - print "Processed request: " . $request->getContent() . " -> " . $response->getContent() . "\n"; + print "Processed request: " . $request->get_content() . " -> " . $response->get_content() . "\n"; $session->acknowledge(); } else { - print "Error: no reply address specified for request: " . $request->getContent() . "\n"; + print "Error: no reply address specified for request: " . $request->get_content() . "\n"; $session->reject($request); } } diff --git a/cpp/bindings/qpid/examples/perl/spout.pl b/cpp/bindings/qpid/examples/perl/spout.pl index eaa9572ac4..af87b0a348 100644..100755 --- a/cpp/bindings/qpid/examples/perl/spout.pl +++ b/cpp/bindings/qpid/examples/perl/spout.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -20,7 +20,7 @@ use strict; use warnings; -use cqpid_perl; +use qpid; use Getopt::Long; use Pod::Usage; use Time::Local; @@ -75,19 +75,19 @@ sub setProperties { } } -my $connection = new cqpid_perl::Connection($url, $connectionOptions); +my $connection = new qpid::messaging::Connection($url, $connectionOptions); eval { $connection->open(); - my $session = $connection->createSession(); - my $sender = $session->createSender($address); + my $session = $connection->create_session(); + my $sender = $session->create_sender($address); - my $message = new cqpid_perl::Message(); + my $message = new qpid::messaging::Message(); setProperties($message) if (@properties); if (@entries) { my $content = {}; setEntries($content); - cqpid_perl::encode($content, $message); + qpid::messaging::encode($content, $message); } elsif ($content) { $message->setContent($content); @@ -96,7 +96,7 @@ eval { my $receiver; if ($replyto) { - my $responseQueue = new cqpid_perl::Address($replyto); + my $responseQueue = new qpid::messaging::Address($replyto); $receiver = $session->createReceiver($responseQueue); $message->setReplyTo($responseQueue); } |
