diff options
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/examples/messaging/hello_world.cpp | 60 |
1 files changed, 23 insertions, 37 deletions
diff --git a/cpp/examples/messaging/hello_world.cpp b/cpp/examples/messaging/hello_world.cpp index 360a22d1c2..9c06964a66 100644 --- a/cpp/examples/messaging/hello_world.cpp +++ b/cpp/examples/messaging/hello_world.cpp @@ -5,45 +5,31 @@ #include <qpid/messaging/Session.h> #include <iostream> -#include <sstream> using namespace qpid::messaging; -int main() { - - Connection connection("localhost:5672"); - try { - connection.open(); - Session session = connection.createSession(); - - std::string address = "message_queue"; - - Sender sender = session.createSender(address); - - for (int i=0; i<5; i++) { - std::stringstream content; - content << "Message " << i; - std::cout << "Sending " << content.str() << std::endl; - sender.send(Message(content.str())); +int main(int argc, char** argv) { + std::string broker = argc > 1 ? argv[1] : "localhost:5672"; + std::string address = argc > 2 ? argv[2] : "amq.topic"; + Connection connection(broker); + try { + connection.open(); + Session session = connection.createSession(); + + Receiver receiver = session.createReceiver(address); + Sender sender = session.createSender(address); + + sender.send(Message("Hello world!")); + + Message message = receiver.fetch(Duration::SECOND * 1); + std::cout << message.getContent() << std::endl; + session.acknowledge(); + + connection.close(); + return 0; + } catch(const std::exception& error) { + std::cerr << error.what() << std::endl; + connection.close(); + return 1; } - sender.close(); - - Receiver receiver = session.createReceiver(address); - - Message message; - Duration timeout(1000); /* in milliseconds */ - while (receiver.fetch(message, timeout)) { - std::cout << "Received " << message.getContent() << std::endl; - session.acknowledge(); - } - - receiver.close(); - - connection.close(); - return 0; - } catch(const std::exception& error) { - std::cerr << error.what() << std::endl; - connection.close(); - return 1; - } } |