qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alan Conway" <acon...@redhat.com>
Subject Review Request: ConfigurationObserver: allow plugins to observe configuration (aka wiring) changes.
Date Mon, 28 May 2012 21:35:05 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/5253/
-----------------------------------------------------------

Review request for qpid, Andrew Stitcher and Gordon Sim.


Summary
-------

The HA plugin needs to know when queues are created. This patch creates a ConfigurationObserver
to observe queue and exchange create/delete and bind/unbind.
The MessageStore API has these hooks but you can't have multiple MessageStores on a broker,
also calls to the MessageStore interface are conditional on durability which is not what I
want for HA. The ConfigurationObserver calls are placed close to the corresponding MessageStore
calls, except that the create() calls are placed earlier - just before the queue/exchange
is stored in the Registry. That allows an Observer to effectively abort the creation of the
queue/exchange (HA doesn't actually need this but it seemed like it might be useful)

How does this look? Any suggestions for better ways to do it?


Diffs
-----

  /trunk/qpid/cpp/src/Makefile.am 1343351 
  /trunk/qpid/cpp/src/qpid/broker/Broker.h 1343351 
  /trunk/qpid/cpp/src/qpid/broker/Broker.cpp 1343351 
  /trunk/qpid/cpp/src/qpid/broker/ConfigurationObserver.h PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/broker/ConfigurationObservers.h PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/broker/ConnectionObservers.h 1343351 
  /trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.cpp 1343351 
  /trunk/qpid/cpp/src/qpid/broker/Observers.h PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/broker/Queue.cpp 1343351 
  /trunk/qpid/cpp/src/qpid/broker/QueueRegistry.cpp 1343351 

Diff: https://reviews.apache.org/r/5253/diff


Testing
-------

make check


Thanks,

Alan


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message