[
https://issues.apache.org/jira/browse/AMQ-4793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Timothy Bish closed AMQ-4793.
-----------------------------
Resolution: Not A Problem
This is working as designed. Calling receiveNoWait you always have to deal
with not getting a message, there's no guarantee here, which is kind of the
point of the method, try but don't wait if one isn't immediately available. It
takes some time for the broker to dispatch a message to the client, so in your
simple example code its quite likely you won't get a message on the first try.
It's better to do a timed receive call so that you give the broker some time to
dispatch to the client.
> issue with messageSelector
> --------------------------
>
> Key: AMQ-4793
> URL: https://issues.apache.org/jira/browse/AMQ-4793
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Reporter: ritesh
>
> Having issue with message selector.
> Message is already there in queue (I can confirm with activeMQ browser app).
> Create consumer with messageSelector and do consumer.receiveNoWait() always
> receive NULL message.
> Have only three message in queue.
> code sample...
> try
> {
>
> ActiveMQConnectionFactory connectionFactory = new
> ActiveMQConnectionFactory("tcp://localhost:61616");
> Connection connection= connectionFactory.createConnection();
> connection.start();
> Session session=
> connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
> Destination queueDestination = session.createQueue("TestQueue");
> //using activeMq browser app i can see message is there with
> JMSCorrelationID=12345
> String messageSelector= "JMSCorrelationID = '12345'";
> MessageConsumer consumer=
> session.createConsumer(queueDestination,messageSelector);
> Message message= consumer.receiveNoWait();
> if(message==null)
> {
> // always return null message
> //log message not found
> }
>
> }
> catch (Exception e)
> {
> }
> But, if do this it’s works …
> For(int i=0; i< 7; i++)
> {
> Thread.sleep(100);
> message= consumer.receiveNoWait();
> If(message!=null)
> Break;
> }
> please help me what am i doing wrong?
--
This message was sent by Atlassian JIRA
(v6.1#6144)