• Post Reply Bookmark Topic Watch Topic
  • New Topic

JMS conceptual doubt  RSS feed

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

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

// 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
// Start the JMS connection; allows messages to be delivered

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.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!