Another attempt to get an input on this problem I am facing. Here is my
destination string:

destination.header = "beip.subscription; {create:always, delete: always,
node:{x-bindings:[{exchange:'amq.match', arguments:{x-match:any,
'userid':10}}]}}"

and when I am trying to create consumer:
        MessageConsumer messageConsumer =
session.createConsumer(destination);

I get the following exception:
Caused by: org.apache.qpid.AMQException: The name 'beip.subscription;
{create:always, delete: always, node:{x-bindings:[{exchange:'amq.match',
arguments:{x-match:any, userid:10}}]}}' supplied in the address doesn't
resolve to an exchange or a queue
    at
org.apache.qpid.client.AMQSession_0_10.handleAddressBasedDestination(AMQSession_0_10.java:1180)
    at
org.apache.qpid.client.AMQSession.registerConsumer(AMQSession.java:2796)
    at org.apache.qpid.client.AMQSession.access$500(AMQSession.java:120)
    at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:1989)

I am using 0.8 through JMS and JNDI properties.
Any help/input would be much appreciated. Rajith?

Thanks,
Siamak


On Sun, May 22, 2011 at 12:44 PM, Siamak Kolahi <[email protected]>wrote:

> So I am using 0.8 now and parsing is fine. Now I get a different exception
> saying
> "The name 'mysubscription; {create:always, delete: always,
> node:{x-bindings:[{exchange:'
> amq.match', arguments:{'x-match':any, 'userid':10}}]}}' supplied in the
> address doesn't resolve to an exchange or a queue"
>
>
> While I am sure my exchange exists, since its the default header exchange.
> Any idea what I am missing here?
>
> and this is how my property look like:
> destination.header = "subscription; {create:always, delete: always,
> node:{x-bindings:[{exchange:'amq.match', arguments:{'x-match':any,
> 'userid':10}}]}}"
>
>
> Thanks,
> Siamak
>
>
> On Fri, May 20, 2011 at 8:31 AM, Rajith Attapattu <[email protected]>wrote:
>
>> As mentioned 0.6 does not support the new address syntax.
>> From 0.8 on wards support the new address syntax.
>>
>> Make sure you have the correct jar files in the patch.
>> My recommendation is to move to the 0.10 release.
>>
>> Rajith
>>
>> On Thu, May 19, 2011 at 6:08 PM, qpid user 2 <[email protected]>
>> wrote:
>> > 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]
>> >>
>> >>
>> >
>>
>> ---------------------------------------------------------------------
>> Apache Qpid - AMQP Messaging Implementation
>> Project:      http://qpid.apache.org
>> Use/Interact: mailto:[email protected]
>>
>>
>

Reply via email to