Apache Qpid - AMQP Messaging for Java JMS, C++, Python, Ruby, and .NET | Apache Qpid Documentation |
Implement a subclass of MessageListener and subscribe it using the SubscriptionManager to receive messages. More...
#include <qpid/client/MessageListener.h>
Public Member Functions | |
virtual | ~MessageListener () |
virtual void | received (Message &msg)=0 |
Called for each message arriving from the broker. |
Implement a subclass of MessageListener and subscribe it using the SubscriptionManager to receive messages.
Another way to receive messages is by using a LocalQueue.
<h2>Using a MessageListener</h2> <ul> <li> <p>The received() function is called when a message arrives:</p> <pre>virtual void received(Message& message)=0;</pre> </li> <li> <p>Derive your own listener, implement the received() function:</p> <pre> class Listener : public MessageListener { private: SubscriptionManager& subscriptions; public: Listener(SubscriptionManager& subscriptions); virtual void received(Message& message); }; Listener::Listener(SubscriptionManager& subs) : subscriptions(subs) {} void Listener::received(Message& message) { std::cout << "Message: " << message.getData() << std::endl; if (message.getData() == "That's all, folks!") { std::cout << "Shutting down listener for " << message.getDestination() << std::endl; subscriptions.cancel(message.getDestination()); } } </pre> <pre> SubscriptionManager subscriptions(session); // Create a listener and subscribe it to the queue named "message_queue" Listener listener(subscriptions); subscriptions.subscribe(listener, "message_queue"); // Receive messages until the subscription is cancelled // by Listener::received() subscriptions.run(); </pre> </li> </ul>
Definition at line 87 of file MessageListener.h.
|
virtual |
|
pure virtual |
Called for each message arriving from the broker.
Override in your own subclass to process messages.