diff options
author | Gordon Sim <gsim@apache.org> | 2009-01-15 11:29:38 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2009-01-15 11:29:38 +0000 |
commit | e46c3c0a19af0fd659cfe018c34db1c0dfd498c5 (patch) | |
tree | 661de23013441445a9b04276fc4b7220906e5d18 /cpp/src/qpid/broker/SessionAdapter.cpp | |
parent | 85679201de2448430804ff02d8a47894faf34f49 (diff) | |
download | qpid-python-e46c3c0a19af0fd659cfe018c34db1c0dfd498c5.tar.gz |
QPID-1567: Initial support for asynchronous queue state replication
* Added QueueEvents class with per broker instance
* Modified qpid::broker::Queue to notify QueueEvents of enqueues and dequeues (based on configuration)
* Added replication subdir containing two plugins:
- an event listener that registers with QueueEvents and creates messages representing received
events on a replication queue
- a custom exchange type for processing messages of the format created by the listener plugin
* Added new option for controlling event generation to qpid::client::QueueOptions
* Added new queue option to qpid-config script for the same
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@734674 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/SessionAdapter.cpp')
-rw-r--r-- | cpp/src/qpid/broker/SessionAdapter.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/SessionAdapter.cpp b/cpp/src/qpid/broker/SessionAdapter.cpp index 4450d56efb..0966db8162 100644 --- a/cpp/src/qpid/broker/SessionAdapter.cpp +++ b/cpp/src/qpid/broker/SessionAdapter.cpp @@ -362,6 +362,10 @@ void SessionAdapter::QueueHandlerImpl::declare(const string& name, const string& getBroker().getExchanges().getDefault()->bind(queue, name, 0); queue->bound(getBroker().getExchanges().getDefault()->getName(), name, arguments); + //if event generation is turned on, pass in a pointer to + //the QueueEvents instance to use + if (queue->getEventMode()) queue->setQueueEventManager(getBroker().getQueueEvents()); + //handle automatic cleanup: if (exclusive) { exclusiveQueues.push_back(queue); |