1.3.1.2.
Initial
Value Exchange

This feature caches a last message sent to an exchange. When a
new binding is created onto the exchange it will then attempt to
route this cached messaged to the queue, based on the binding.
This allows for topics or the creation of configurations where a
new consumer can receive the last message sent to the broker,
with matching routing.

To use this feature an exchange needs to be declared specifying
this option in the declare

now use the exchange in the same way you would use any other
exchange.

1.3.1.3.
Exclusive
binding for key

Direct exchanges in qpidd support a qpid.exclusive-binding option
on the bind operation that causes the binding specified to be the
only one for the given key. I.e. if there is already a binding at
this exchange with this key it will be atomically updated to bind
the new queue. This means that the binding can be changed
concurrently with an incoming stream of messages and each message
will be routed to exactly one queue.

....
FieldTable args;
args.setInt("qpid.exclusive-binding",1);
//the following will cause the only binding from amq.direct with 'my-key'
//to be the one to 'my-queue'; if there were any previous bindings for that
//key they will be removed. This is atomic w.r.t message routing through the
//exchange.
session.exchangeBind(arg::exchange="amq.direct", arg::queue="my-queue",
arg::bindingKey="my-key", arg::arguments=args);
...