File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

JMS conceptual doubt

 
Rafael De la Guetto
Greenhorn
Posts: 9
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I have some conceptual doubt with the JMS server behavior.

First I register a listener in the traditional way (not needed to read it).




InitialContext jndi = new InitialContext(env);
// Look up a JMS connection factory
QueueConnectionFactory conFactory = (QueueConnectionFactory) jndi
.lookup("jms/connectionFactory");

// Create a JMS connection
QueueConnection connection = conFactory.createQueueConnection(username, password);
// Create two JMS session objects
QueueSession qSession = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
// Look up a JMS queue
Queue q = (Queue) jndi.lookup(queueName);
QueueReceiver qr = qSession.createReceiver(q);
// Set a JMS message listener
qr.setMessageListener(this);
// Start the JMS connection; allows messages to be delivered
connection.start();




Then, the listener registers to the queue without problem, the method returns, and the object wait for new messages. Until here OK.

The problem comes up when the JMS server "eventually" crashes, how can my java code get noticed about this event???

In case it doesn't get noticed, I'm forced to program a timed task that periodically checks if the connection with the queue is UP, I mean, if the object is listening for new messages, or if there has been any problem and it is no longer receiving messages.

But, how can I answer to the JMS server if a "given object" is listening on a "given queue" ???

Thanks in advance.
Ed.
 
Consider Paul's rocket mass heater.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic