You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Rajith Attapattu <ra...@gmail.com> on 2009/01/23 22:31:57 UTC

Ideas on improving the java Binding URL

Hi All,

Looking at the Qpid user there seems to be a lot of interest in,
a) Declaring a queue binding with options
    For example to use QueuePolcies or LVQ ..etc

b) Binding a queue to an exchange/binding_key pair with options

Our current Binding URL is not equipped to meet the needs of these new
features.
It would be great if the above features can be met with using only pure JMS,
instead of using Qpid specific code.

I know Martin had some good ideas about improving the binding URL.
Could we gather these ideas and agree on an action plan to improve the
binding URL?
(We would need to ensure that old binding URL's are recognized as well.)

Regards,

Rajith Attapattu
Red Hat
http://rajith.2rlabs.com/

Re: Ideas on improving the java Binding URL

Posted by Carl Trieloff <cc...@redhat.com>.
Rajith Attapattu wrote:
> Hi All,
>
> Looking at the Qpid user there seems to be a lot of interest in,
> a) Declaring a queue binding with options
>     For example to use QueuePolcies or LVQ ..etc
>
> b) Binding a queue to an exchange/binding_key pair with options
>
> Our current Binding URL is not equipped to meet the needs of these new
> features.
> It would be great if the above features can be met with using only pure JMS,
> instead of using Qpid specific code.
>
> I know Martin had some good ideas about improving the binding URL.
> Could we gather these ideas and agree on an action plan to improve the
> binding URL?
> (We would need to ensure that old binding URL's are recognized as well.)
>
>
>   

Note that qpid-config can also setup all these options, but yes, the 
Java URL format needs improving.


]$ ./qpid-config --help
Usage:  qpid-config [OPTIONS]
        qpid-config [OPTIONS] exchanges [filter-string]
        qpid-config [OPTIONS] queues    [filter-string]
        qpid-config [OPTIONS] add exchange <type> <name> 
[AddExchangeOptions]
        qpid-config [OPTIONS] del exchange <name>
        qpid-config [OPTIONS] add queue <name> [AddQueueOptions]
        qpid-config [OPTIONS] del queue <name>
        qpid-config [OPTIONS] bind   <exchange-name> <queue-name> 
[binding-key]
        qpid-config [OPTIONS] unbind <exchange-name> <queue-name> 
[binding-key]

Options:
    -b [ --bindings ]                         Show bindings in queue or 
exchange list
    -a [ --broker-addr ] Address (localhost)  Address of qpidd broker
         broker-addr is in the form:   [username/password@] hostname | 
ip-address [:<port>]
         ex:  localhost, 10.1.1.7:10000, broker-host:10000, 
guest/guest@localhost

Add Queue Options:
    --durable            Queue is durable
    --cluster-durable    Queue becomes durable if there is only one 
functioning cluster node
    --file-count N (8)   Number of files in queue's persistence journal
    --file-size  N (24)  File size in pages (64Kib/page)
    --max-queue-size N   Maximum in-memory queue size as bytes
    --max-queue-count N  Maximum in-memory queue size as a number of 
messages
    --limit-policy [none | reject | flow-to-disk | ring | ring-strict]
                         Action taken when queue limit is reached:
                             none (default) - Use broker's default policy
                             reject         - Reject enqueued messages
                             flow-to-disk   - Page messages to disk
                             ring           - Replace oldest unacquired 
message with new
                             ring-strict    - Replace oldest message, 
reject if oldest is acquired
    --order [fifo | lvq | lvq-no-browse]
                         Set queue ordering policy:
                             fifo (default) - First in, first out
                             lvq            - Last Value Queue ordering, 
allows queue browsing
                             lvq-no-browse  - Last Value Queue ordering, 
browsing clients may lose data
    --generate-queue-events N
                         If set to 1, every enqueue will generate an 
event that can be processed by
                         registered listeners (e.g. for replication). If 
set to 2, events will be
                         generated for enqueues and dequeues

Add Exchange Options:
    --durable    Exchange is durable
    --sequence   Exchange will insert a 'qpid.msg_sequence' field in the 
message header
                 with a value that increments for each message forwarded.
    --ive        Exchange will behave as an 'initial-value-exchange', 
keeping a reference
                 to the last message forwarded and enqueuing that 
message to newly bound
                 queues.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org