summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcpp/bindings/qpid/examples/perl/spout.pl5
-rw-r--r--cpp/bindings/qpid/ruby/examples/spout.rb7
-rw-r--r--cpp/examples/messaging/spout.cpp11
-rwxr-xr-xpython/examples/api/spout4
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)