On Fri, Oct 3, 2008 at 4:18 AM, Martin Ritchie <[EMAIL PROTECTED]> wrote:

> 2008/10/2 Rajith Attapattu <[EMAIL PROTECTED]>:
> > 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.
>
> If Jonathan has then it would be great if he would contribute it to
> the project, I do find it frustrating to hear that there has been
> documentation effort performed but not part of this project. :(
>

I meant documentation for Qpid project.
I am not aware of any other documentation that has these properties. (I
stand to be corrected though).


>
> >>
> >> 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.
>
> That is fine, means less work adding an extra method to the api to
> support but it does mean less flexibility from a clients point of
> view. Then again if we don't have a use case from a client to work
> with it is a little difficult to formulate an solution to their
> problem.
>
> >>
> >>
> >> Thoughts
> >>
> >> Martin
> >>
> >> --
> >> Martin Ritchie
> >>
> >
> >
> >
> > --
> > Regards,
> >
> > Rajith Attapattu
> > Red Hat
> > http://rajith.2rlabs.com/
> >
>
>
>
> --
> Martin Ritchie
>



-- 
Regards,

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

Reply via email to