-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/11840/
-----------------------------------------------------------
(Updated June 13, 2013, 9:22 a.m.)
Review request for qpid, Ted Ross and Fraser Adams.
Changes
-------
Added a little more detail to the description, including a list of remaining
work.
Description (updated)
-------
The approach here is to allow a topic node to be defined at the broker level
(though only seen by AMQP 1.0 connections) that encompasses a given exchange
and queue configuration information to be used with all subscription queues
created for outgoing links from that node. You can have different topics mapped
(with different names) to the same exchange, allowing different sets of policy
to be applied.
Topics are created and deleted through the create/delete methods on the broker.
The type is 'topic', the supported properties are 'exchange' and then whatever
queue arguments are desired e.g. qpid.max_count and qpid.policy_type. The topic
is then accessible to senders or receivers over 1.0 via its name as any other
node. In effect the node actually used will be the exchange associated with the
topic. However for receivers, the subscription queue created will take the
settings specified for the topic (certain properties such as durability are
overridden by each link).
TODO:
* add topic class to management schema
* persist topic definitions
* (optional) update qpid-config to support adding and deleting topics
This addresses bug QPID-4919.
https://issues.apache.org/jira/browse/QPID-4919
Diffs
-----
/trunk/qpid/cpp/src/Makefile.am 1492311
/trunk/qpid/cpp/src/amqp.cmake 1492311
/trunk/qpid/cpp/src/qpid/broker/amqp/BrokerContext.h PRE-CREATION
/trunk/qpid/cpp/src/qpid/broker/amqp/BrokerContext.cpp PRE-CREATION
/trunk/qpid/cpp/src/qpid/broker/amqp/Connection.h 1492311
/trunk/qpid/cpp/src/qpid/broker/amqp/Connection.cpp 1492311
/trunk/qpid/cpp/src/qpid/broker/amqp/Domain.h 1492311
/trunk/qpid/cpp/src/qpid/broker/amqp/Domain.cpp 1492311
/trunk/qpid/cpp/src/qpid/broker/amqp/Interconnect.h 1492311
/trunk/qpid/cpp/src/qpid/broker/amqp/Interconnect.cpp 1492311
/trunk/qpid/cpp/src/qpid/broker/amqp/Interconnects.h 1492311
/trunk/qpid/cpp/src/qpid/broker/amqp/Interconnects.cpp 1492311
/trunk/qpid/cpp/src/qpid/broker/amqp/ProtocolPlugin.cpp 1492311
/trunk/qpid/cpp/src/qpid/broker/amqp/Sasl.h 1492311
/trunk/qpid/cpp/src/qpid/broker/amqp/Sasl.cpp 1492311
/trunk/qpid/cpp/src/qpid/broker/amqp/Session.h 1492311
/trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp 1492311
/trunk/qpid/cpp/src/qpid/broker/amqp/Topic.h PRE-CREATION
/trunk/qpid/cpp/src/qpid/broker/amqp/Topic.cpp PRE-CREATION
Diff: https://reviews.apache.org/r/11840/diff/
Testing
-------
make check passes, basic test of new behaviour works as expected
Thanks,
Gordon Sim