You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by James Green <ja...@gmail.com> on 2010/08/20 17:30:14 UTC

Subscribing with a selector over stomp isn't working

I'm using PHP with Stomp for connectivity. Where $o is my Stomp client:

$o->subscribe("/queue/message.status.outbox", array("selector" =>
"AccountId = 21211"));

Leaves the following trace:

2010-08-20 16:20:54,362 [127.0.0.1:44882] TRACE StompTransportFilter
        - Received:
CONNECT
passcode:
login:


2010-08-20 16:20:54,364 [127.0.0.1:44882] TRACE StompTransportFilter
        - Sending:
CONNECTED
session:ID:sutton-42986-1282316912321-6:11


2010-08-20 16:20:54,407 [127.0.0.1:44882] TRACE StompTransportFilter
        - Received:
SUBSCRIBE
selector:AccountId = 21212
ack:client
activemq.prefetchSize:1
destination:/queue/message.status.outbox

But no messages come down. I can see on my broker there is one, with
an 'AccountId' property set to the number in question.

Interestingly the messages (not all of which were for the same account
id) were all sent from a remote broker and they were all transmitted
over to this local broker as soon as I subscribed despite my selector
being in place. They now sit locally without any collection unless I
subscribe without my selector argument.

Clearly something in my request is not right. What am I doing wrong?

James

Re: Subscribing with a selector over stomp isn't working

Posted by Gary Tully <ga...@gmail.com>.
yea, it is. Full reference in the java doc, see selectors:
http://download-llnw.oracle.com/javaee/1.3/api/javax/jms/Message.html

On 23 August 2010 07:53, James Green <ja...@gmail.com> wrote:
> I believe I've traced this.
>
> The value 21211 must be enclosed in single quotes. Without quotes it
> does not work. Enclosed in double quotes (") it does not work.
>
> It this one of the finer details of the JMS spec does anyone know?
>
> James
>
> On 20 August 2010 16:30, James Green <ja...@gmail.com> wrote:
>> I'm using PHP with Stomp for connectivity. Where $o is my Stomp client:
>>
>> $o->subscribe("/queue/message.status.outbox", array("selector" =>
>> "AccountId = 21211"));
>>
>> Leaves the following trace:
>>
>> 2010-08-20 16:20:54,362 [127.0.0.1:44882] TRACE StompTransportFilter
>>        - Received:
>> CONNECT
>> passcode:
>> login:
>>
>>
>> 2010-08-20 16:20:54,364 [127.0.0.1:44882] TRACE StompTransportFilter
>>        - Sending:
>> CONNECTED
>> session:ID:sutton-42986-1282316912321-6:11
>>
>>
>> 2010-08-20 16:20:54,407 [127.0.0.1:44882] TRACE StompTransportFilter
>>        - Received:
>> SUBSCRIBE
>> selector:AccountId = 21212
>> ack:client
>> activemq.prefetchSize:1
>> destination:/queue/message.status.outbox
>>
>> But no messages come down. I can see on my broker there is one, with
>> an 'AccountId' property set to the number in question.
>>
>> Interestingly the messages (not all of which were for the same account
>> id) were all sent from a remote broker and they were all transmitted
>> over to this local broker as soon as I subscribed despite my selector
>> being in place. They now sit locally without any collection unless I
>> subscribe without my selector argument.
>>
>> Clearly something in my request is not right. What am I doing wrong?
>>
>> James
>>
>



-- 
http://blog.garytully.com

Open Source Integration
http://fusesource.com

Re: Subscribing with a selector over stomp isn't working

Posted by James Green <ja...@gmail.com>.
I believe I've traced this.

The value 21211 must be enclosed in single quotes. Without quotes it
does not work. Enclosed in double quotes (") it does not work.

It this one of the finer details of the JMS spec does anyone know?

James

On 20 August 2010 16:30, James Green <ja...@gmail.com> wrote:
> I'm using PHP with Stomp for connectivity. Where $o is my Stomp client:
>
> $o->subscribe("/queue/message.status.outbox", array("selector" =>
> "AccountId = 21211"));
>
> Leaves the following trace:
>
> 2010-08-20 16:20:54,362 [127.0.0.1:44882] TRACE StompTransportFilter
>        - Received:
> CONNECT
> passcode:
> login:
>
>
> 2010-08-20 16:20:54,364 [127.0.0.1:44882] TRACE StompTransportFilter
>        - Sending:
> CONNECTED
> session:ID:sutton-42986-1282316912321-6:11
>
>
> 2010-08-20 16:20:54,407 [127.0.0.1:44882] TRACE StompTransportFilter
>        - Received:
> SUBSCRIBE
> selector:AccountId = 21212
> ack:client
> activemq.prefetchSize:1
> destination:/queue/message.status.outbox
>
> But no messages come down. I can see on my broker there is one, with
> an 'AccountId' property set to the number in question.
>
> Interestingly the messages (not all of which were for the same account
> id) were all sent from a remote broker and they were all transmitted
> over to this local broker as soon as I subscribed despite my selector
> being in place. They now sit locally without any collection unless I
> subscribe without my selector argument.
>
> Clearly something in my request is not right. What am I doing wrong?
>
> James
>