activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matt Pavlovich (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-4793) issue with messageSelector
Date Wed, 16 Oct 2013 12:53:45 GMT

    [ https://issues.apache.org/jira/browse/AMQ-4793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13796748#comment-13796748
] 

Matt Pavlovich commented on AMQ-4793:
-------------------------------------

ritesh- 

Mailing list or irc chat is a good place to go for answers like this.  One quick thing to
look at is you may prefer using a MessageListener callback.. messages are just handed to a
method for you and you don't have to deal with any of the timing logic by hand. (onMessage()..)

Look into ".. implements javax.jms.MessageListener"

> 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)

Mime
View raw message