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. :( >> >> 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