Before creating a IFlow instance to a durable Queue on the appliance, the queue must be first provisioned. Applications can provision durable/non-temporary queues using Provision(IEndpoint, EndpointProperties, Int32, Object).
Applications can send or receive Guaranteed messages from a Queue, messages received on a Queue have a single consumer. Multiple subscribing clients can listen for messages on the same Queue, but once any client retrieves a particular message from the Queue and acknowledges it, that message is consumed and is no longer available to other potential subscribing clients. To consume messages from a Queue, client applications must create a Flow using CreateFlow(...) on ISession passing in the corresponding IQueue instance.
An exclusive Queue can have multiple active flows at any given time, but only one flow in the set of bound flows can actually consume messages. If the currently consuming flow is closed, one of the standby flows take over and start consuming messages from that Queue.
A non-exclusive Queue can also have multiple active flows at any given time, but all flows in the set of bound flows can consume messages. Messages are forwarded to bound flows by the appliance in a round-robin fashion. If an application does not consume the message (does not acknowledge it), then when that application closes the flow, or exits, all non-consumed messages are re-delivered, in a round-robin fashion, to any flows still currently bound.
public IQueue CreateQueue(
string name
)
ArgumentNullException |