File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes EJB and other Java EE Technologies and the fly likes JMS conceptual doubt Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "JMS conceptual doubt" Watch "JMS conceptual doubt" New topic

JMS conceptual doubt

Rafael De la Guetto

Joined: Jan 10, 2008
Posts: 9

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.
I agree. Here's the link:
subject: JMS conceptual doubt
It's not a secret anymore!