diff options
-rwxr-xr-x | cpp/bindings/qpid/examples/perl/spout.pl | 5 | ||||
-rw-r--r-- | cpp/bindings/qpid/ruby/examples/spout.rb | 7 | ||||
-rw-r--r-- | cpp/examples/messaging/spout.cpp | 11 | ||||
-rwxr-xr-x | python/examples/api/spout | 4 |
4 files changed, 26 insertions, 1 deletions
diff --git a/cpp/bindings/qpid/examples/perl/spout.pl b/cpp/bindings/qpid/examples/perl/spout.pl index 74e589b617..7468a25a3a 100755 --- a/cpp/bindings/qpid/examples/perl/spout.pl +++ b/cpp/bindings/qpid/examples/perl/spout.pl @@ -28,6 +28,7 @@ use Time::Local; my $url = "127.0.0.1"; my $timeout = 0; my $count = 1; +my $durable = 0; my $id = ""; my $replyto = ""; my @properties; @@ -41,6 +42,7 @@ my $result = GetOptions( "broker|b=s" => \$url, "timeout|t=i" => \$timeout, "count|c=i" => \$count, + "durable|d" => \$durable, "id|i=s" => \$id, "replyto=s" => \$replyto, "property|p=s@" => \@properties, @@ -96,6 +98,9 @@ eval { $message->set_content_type("text/plain"); } + # set durable flag + $message->set_durable($durable); + # if a reply-to address was supplied, then create a receiver from the # session and wait for a response to be sent my $receiver; diff --git a/cpp/bindings/qpid/ruby/examples/spout.rb b/cpp/bindings/qpid/ruby/examples/spout.rb index ebcf08b7a5..6a0751e682 100644 --- a/cpp/bindings/qpid/ruby/examples/spout.rb +++ b/cpp/bindings/qpid/ruby/examples/spout.rb @@ -26,6 +26,7 @@ options = { :broker => "127.0.0.1", :address => "", :timeout => 0, + :durable => false, :count => 1, :properties => {}, :content => nil, @@ -51,6 +52,11 @@ opts = OptionParser.new do |opts| options[:timeout] = Qpid::Messaging::Duration.new timeout * 1000 end + opts.on("-d", "--durable", + "make the message durable (def. #{options[:durable]})") do + options[:durable] = true + end + opts.on("-c", "--count VALUE", Integer, "stop after count messages have been sent, zero disables") do |count| options[:count] = count @@ -135,6 +141,7 @@ options[:properties].each_key {|key| message[key] = options[:properties][key]} elsif options[:content] message.content = options[:content] end + message.durable = options[:durable] message.content = options[:content] unless options[:content].nil? message.properties["spout-id"] = "#{count}" message.reply_to = options[:replyto] unless options[:replyto].nil? || options[:replyto].empty? diff --git a/cpp/examples/messaging/spout.cpp b/cpp/examples/messaging/spout.cpp index 9c463d10b1..d3451c084b 100644 --- a/cpp/examples/messaging/spout.cpp +++ b/cpp/examples/messaging/spout.cpp @@ -43,6 +43,7 @@ struct Options : OptionParser std::string url; std::string address; int timeout; + bool durable; int count; std::string id; std::string replyto; @@ -55,10 +56,12 @@ struct Options : OptionParser : OptionParser("Usage: spout [OPTIONS] ADDRESS", "Send messages to the specified address"), url("127.0.0.1"), timeout(0), - count(1) + count(1), + durable(false) { add("broker,b", url, "url of broker to connect to"); add("timeout,t", timeout, "exit after the specified time"); + add("durable,d", durable, "make the message durable (def. transient)"); add("count,c", count, "stop after count messages have been sent, zero disables"); add("id,i", id, "use the supplied id instead of generating one"); add("reply-to", replyto, "specify reply-to address"); @@ -127,6 +130,11 @@ struct Options : OptionParser return true; } } + + bool isDurable() const + { + return durable; + } }; @@ -141,6 +149,7 @@ int main(int argc, char** argv) Sender sender = session.createSender(options.address); Message message; + message.setDurable(options.isDurable()); options.setProperties(message); Variant& obj = message.getContentObject(); if (options.entries.size()) { diff --git a/python/examples/api/spout b/python/examples/api/spout index e4d7cfb970..6584b853fc 100755 --- a/python/examples/api/spout +++ b/python/examples/api/spout @@ -45,6 +45,8 @@ parser.add_option("-l", "--reconnect-limit", type="int", help="maximum number of reconnect attempts") parser.add_option("-c", "--count", type="int", default=1, help="stop after count messages have been sent, zero disables (default %default)") +parser.add_option("-d", "--durable", action="store_true", + help="make the message persistent") parser.add_option("-t", "--timeout", type="float", default=None, help="exit after the specified time") parser.add_option("-I", "--id", help="use the supplied id instead of generating one") @@ -111,6 +113,8 @@ try: msg = Message(subject=opts.subject, reply_to=opts.reply_to, content=content) + if opts.durable: + msg.durable = True if content_type is not None: msg.content_type = content_type msg.properties["spout-id"] = "%s:%s" % (spout_id, count) |