I added the double quotes around it and still same error.
Is there any difference in the grammars? I am currently using 0.6 and 0.8
and they both give me same error. For some coordination issues with others
in the team, I cant move on to use 0.10 at this moment :)


On Thu, May 19, 2011 at 5:55 PM, Rajith Attapattu <[email protected]>wrote:

> 1. Two issues. It looks like you have an older version where the
> default syntax is Binding URL.
>     So which version are you using? I'd recommend using the latest
> release (0.10 release).
>
> 2. Once you fix your first problem, then use double quotes around your
> address string
>
> destination.header = "my-subscription-queue; {create:always,
> node:{x-declare:{auto-delete:True},
> x-bindings:[{queue:my-subscription-queue, exchange:'amq.match',
> arguments:{'x-match':any, 'userid':10}}]}}"
>
> Regards,
>
> Rajith
>
> On Thu, May 19, 2011 at 5:36 PM, qpid user 2 <[email protected]>
> wrote:
> > Guys. I am using the following destination address in my jndi property,
> as
> > advised:
> > destination.header = my-subscription-queue; {create:always,
> > node:{x-declare:{auto-delete:True},
> > x-bindings:[{queue:my-subscription-queue, exchange:'amq.match',
> > arguments:{'x-match':any, 'userid':10}}]}}
> >
> > but I am getting a parsing error when parsing for context, as follows. Am
> I
> > missing anything?
> >
> >
> > WARNING: Unable to create destination:java.net.URISyntaxException: Error
> > occured while parsing URL at index 182: my-subscription-queue;
> > {create:always, node:{x-declare:{auto-delete:True},
> > x-bindings:[{queue:my-subscription-queue, exchange:'amq.match',
> > arguments:{'x-match':any, 'userid':10}}]}}%^
> > java.net.URISyntaxException: Error occured while parsing URL at index
> 182:
> > my-subscription-queue; {create:always,
> node:{x-declare:{auto-delete:True},
> > x-bindings:[{queue:my-subscription-queue, exchange:'amq.match',
> > arguments:{'x-match':any, 'userid':10}}]}}%^
> >    at
> org.apache.qpid.url.BindingURLParser.<init>(BindingURLParser.java:88)
> >    at
> > org.apache.qpid.url.AMQBindingURL.parseBindingURL(AMQBindingURL.java:58)
> >    at org.apache.qpid.url.AMQBindingURL.<init>(AMQBindingURL.java:53)
> >    at
> >
> org.apache.qpid.jndi.PropertiesFileInitialContextFactory.createDestination(PropertiesFileInitialContextFactory.java:241)
> >    at
> >
> org.apache.qpid.jndi.PropertiesFileInitialContextFactory.createDestinations(PropertiesFileInitialContextFactory.java:160)
> >    at
> >
> org.apache.qpid.jndi.PropertiesFileInitialContextFactory.getInitialContext(PropertiesFileInitialContextFactory.java:117)
> >    at
> > javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
> >    at
> > javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
> >    at javax.naming.InitialContext.init(InitialContext.java:223)
> >    at javax.naming.InitialContext.<init>(InitialContext.java:197)
> >    at
> >
> rim.core.instrumentation.subscription.Subscription.main(Subscription.java:37)
> > Caused by: java.lang.ArrayIndexOutOfBoundsException: 182
> >    at
> >
> org.apache.qpid.url.BindingURLParser.extractExchangeName(BindingURLParser.java:218)
> >    at
> org.apache.qpid.url.BindingURLParser.next(BindingURLParser.java:137)
> >    at
> org.apache.qpid.url.BindingURLParser.<init>(BindingURLParser.java:70)
> >    ... 10 more
> >
> >
> > Thanks
> > Siamak
> >
> >
> >
> > On Thu, May 19, 2011 at 10:55 AM, Gordon Sim <[email protected]> wrote:
> >
> >> On 05/19/2011 03:53 PM, Rajith Attapattu wrote:
> >>
> >>> On Thu, May 19, 2011 at 10:04 AM, Gordon Sim<[email protected]>  wrote:
> >>>
> >>>> On 05/19/2011 02:36 PM, qpid user 2 wrote:
> >>>>
> >>>>>
> >>>>> So any input on this? I am trying to construct a header exchange
> >>>>> subscription using JMS. How would the destination and jndi properties
> >>>>> look
> >>>>> like?
> >>>>>
> >>>>
> >>>> For python or c++ the following address is an example of what you
> want:
> >>>>
> >>>>  my-headers-exchange;
> >>>> {link:{x-bindings:[{arguments:{'x-match':all,a:b,c:d}}]}}
> >>>>
> >>>> That is assuming you have created the headers exchange named
> >>>> my-headers-exchange already, e.g. with qpid-config. This will match
> any
> >>>> message with both a header keyed 'a' with value 'b' and a header keyed
> >>>> 'c'
> >>>> with value 'd'.
> >>>>
> >>>> Unfortunately it would appear there is a bug in the JMS client
> preventing
> >>>> this from working there. (
> >>>> https://issues.apache.org/jira/browse/QPID-3265)
> >>>>
> >>>> An alternative address would be:
> >>>>
> >>>>  my-subscription-queue; {create:always,
> >>>> node:{x-declare:{auto-delete:True},
> >>>> x-bindings:[{queue:my-subscription-queue,
> exchange:my-headers-exchange,
> >>>> arguments:{'x-match':all,a:b,c:d}}]}}
> >>>>
> >>>> However that requires that my-subscription-queue be a unique name -
> not
> >>>> sure
> >>>> how well that will work for a JNDI based destination.
> >>>>
> >>>
> >>> I verified that the above addressing string can be specified in the
> >>> JNDI properties.
> >>>
> >>
> >> The point is not that it can't be specified in JNDI but that multiple
> >> consumers created from the destination obtained will all be using the
> same
> >> queue and will thus compete for messages which is not what you want.
> >>
> >> If there was only going to be one consumer that might not be an issue of
> >> course.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> Apache Qpid - AMQP Messaging Implementation
> >> Project:      http://qpid.apache.org
> >> Use/Interact: mailto:[email protected]
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:[email protected]
>
>

Reply via email to