# # 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. # use strict; use warnings; use cqpid_perl; package qpid::messaging; use qpid::messaging::codec; use qpid::messaging::Address; use qpid::messaging::Duration; use qpid::messaging::Message; use qpid::messaging::Receiver; use qpid::messaging::Sender; use qpid::messaging::Session; use qpid::messaging::Connection; 1; __END__ =pod =head1 NAME qpid::messaging =head1 DESCRIPTION The Qpid Messaging framework is an enterprise messaging framework based on the open-source AMQP protocol. =head1 EXAMPLE Here is a simple example application. It creates a link to a broker located on a system named C. It then creates a new messaging queue named C and publishes a message to it. It then consumes that same message and closes the connection. use strict; use warnings; use qpid; # create a connection, open it and then create a session named "session1" my $conn = new qpid::messaging::Connection("broker.myqpiddomain.com"); $conn->open(); my $session = $conn->create_session("session1"); # create a sender and a receiver # the sender marks the queue as one that is deleted when the sender disconnects my $send = $session->create_sender("qpid-examples;{create:always}"); my $recv = $session->create_receiver("qpid-examples"); # create an outgoing message and send it my $outgoing = new qpid::messaging::Message(); $outgoing->set_content("The time is " . localtime(time)"); $send->send($outgoing); # set the receiver's capacity to 10 and then check out many messages are pending $recv->set_capacity(10); print "There are " . $recv->get_available . " messages waiting.\n"; # get the nextwaitingmessage, which should be in the local queue now, # and output the contents my $incoming = $recv->fetch(); print "Received the following message: " . $incoming->get_content() . "\n"; # the output should be the text that was sent earlier # acknowledge the message, letting the sender know the message was received printf "The sender currently has " . $send->get_unsettled . " message(s) pending.\n"; # should report 1 unsettled message $session->acknowledge(); # acknowledges all pending messages print "Now sender currently has " . $send->get_unsettled . " message(s) pending.\n"; # should report 0 unsettled messages # close the connection $conn->close