On Thu, Oct 2, 2008 at 6:14 AM, Martin Ritchie <[EMAIL PROTECTED]> wrote:

> 2008/10/1 Rajith Attapattu <[EMAIL PROTECTED]>:
> > Hi All,
> >
> > Currently we cannot specify arguments for Queue binding and declare,
> using
> > the binding URL in the JNDI props file.
> >
> > This prohibits the JMS client to leverage some of the options offered by
> the
> > C++ broker.
> > a) Use the XML exchange as you need to specify the xpath expression as a
> > binding argument.
> > b) Use queue configuration options ( Ex qpid.max_size, qpid.max_count,
> > qpid.policy_type ...etc)
> >
> > Another limitation is that a queue could only be bound to a single
> exchange
> > (all though now you could specify multiple binding keys).
> >
> > It would be nice if we found a way to express the above using our JNDI
> prop
> > file.
> > One idea is to use the following format.
> > bind.args.<prop_name>=<prop_value> and dec.args.<prop_name>=<prop_value>
> in
> > the binding URL.
> > This however doesn't solve the problem of binding to multiple exchanges.
> >
> > Another idea floated by Martin was to separate the queue definition from
> its
> > bindings.
> > The obvious advantage of this approach is that you could bind your queue
> to
> > multiple exchange/bindingkey pairs.
> > Ex.
>  destination.<jndiname>=myQueue?durable=true&args.qpid.max_size=100000
> >
> >
> binding.<jndiname>=myExchange/myQueue?bindingkey='abc'&args.prop1=prop1value&args.prop2=prop2value
> >      binding.<jndiname>=amq.direct/myQueue?bindingKey='xyz'
> >
> > I am sure there are other ideas as well.
> > Please help by sharing your ideas on a new propsal or how to refine the
> > existing mechanism.
> > (Eitherway we need to ensure backwards compatibility.)
> >
> > Regards,
> >
> > Rajith Attapattu
> > Red Hat
> > http://rajith.2rlabs.com/
>
> Just to refine Rajith's example slightly I think in the binding entry
> simply having a list of properties makes for easy parsing and makes
> future expansion/change easier as there is no initial string to be
> worry about. Do we have a wiki page that details what the args.prop1
> args.prop2 might be? I know this is a 0-10 related addition to the
> URLs but I can't remember or locate that documentation just now:


I am not aware of such a page, but I believe the intention is to document
these properties.
Jonathan may have already done something on this front.


>
> destination.myDestination=myQueue?durable=true&args.qpid.max_size=100000
>
> binding.myDestination=exchange=myExchange&bindingkey='abc'&args.prop1=prop1value&args.prop2=prop2value
> binding.myDestination=exchange=amq.direct&bindingKey='xyz'
>
> Note that the <jndiname> is the same in all three lines. This would
> allow the client library to automatically perform the binding lookup
> in JNDI and then perform the AMQP methods, I don't recall what
> Property files do if you have multiple items with the same key.
> However if it doesn't give us all the values then the easy solution is
> to number them, as the XML Configuration would:
>
> binding.myDestination.1=...
> binding.myDestination.2=...
>
> While if we might allow access through our qpid.jms extensions to
> manually bind a destination with a listed JNDI binding I would not
> start by offering this functionality.


IMHO the first and foremost option should be to expose as much functionality
through configuration while using 100% pure JMS interfaces.
My experiance with users is that they are not too happy about using vendor
extentions.


>
>
> Thoughts
>
> Martin
>
> --
> Martin Ritchie
>



-- 
Regards,

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

Reply via email to