My JMS java client creates one consumer with a message selector and
works fine when receiving messages from WebSphere MQ. But seldom works when
receiving from a queue on ActiveMQ 5.3.1 and 5.4.1. Most of the time I don't
get any messages. I can consistently get it to work *IF* I am stepping through
the java code using the debugger in Eclipse and I have
"?jms.prefetchPolicy.queuePrefetch=1" added to my jndi provider URL. I only
have one consumer, so I don't think it is a flow control or maxPageSize issue.
However, given that it works when under the debugger, then it may be something
like that.
In my test case, I put 50 messages on the queue, where every third
message should match on my selector, which compares against JMSCorrelationID.
(eg. JMSCorrelationID = '223456789ABCDEF012345622' )
I have seen it work a few times outside of the debugger, but it fails
most of the time. I am currently running this test case on Windows XP, Java
spec version 1.6.0_21, class version 50.0.
I am able to use the activemq-admin command line tool to get messages
using a selector. For example:
activemq-admin browse --amqurl tcp://localhost:61616 --msgsel "
JMSCorrelationID = '223456789ABCDEF012345622'" request
However, my JMS compliant Java application is having trouble doing it.
Obviously my app is doing something different. If you have any ideas of what
might be causing this, please let me know.
Thanks,
sv
sasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasas
Stephen Vincent
Platform R&D
Tel: + 1 919 531 7556
[email protected]
SAS ... THE POWER TO KNOW