Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

jms queue fetching of message as and when it is posted in asynchronous communication

 
anish reddy
Ranch Hand
Posts: 74
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
i want to know how to fetch a message from a jms queue when it is posted in asynchronous communication between sender and receiver.

ie how to fetch message by using receive method of messageConusmer.
 
Samanthi perera
Ranch Hand
Posts: 510
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
before fetch you must send messages
this Servlet shows how to send messages


the this Message Driven Bean shows how to fetch


i think you should follow this tutorials is better.

http://weblogs.java.net/blog/kalali/archive/2006/05/step_by_step_to.html
it gives step by step examples.
anyway it is bit old tutorials.But no problem.

 
Ralph Jaus
Ranch Hand
Posts: 342
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Anish,

an example for using MesageConsumer.receive() is provided by the following code excerpt: Hope this helps.
 
ramprasad madathil
Ranch Hand
Posts: 489
Eclipse IDE Java Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Besides the code posted, there is an important paradigm to understand.

A 'receive' will deliver the next message in the destination. So if there are say 'n' messages, you have to wrap the call to receive in a loop. And finally when there is no message in the queue, this will block till the next message arrives. You can of course chose to specify a timeout value after which the receive returns.

If that is not desirable, you can instead make a call to receiveNoWait() which returns null if there is no more messages to be read. By checking for the return value, you can exit the loop.

To receive the message again after a time interval, it is necessary to invoke receive() again.

A MessageListener on the other hand receives messages continously from the destination. The 'looping' is done internally the jms runtime on the client.

ram.

 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic