We are using JBossMQ with JBoss version 4.0.2 and 4.0.4
We have a configuration with a JMS client connected to JMS queues. There are two JMS
queues a request queue and response queue. The web app running under JBoss can submit
requests for statistical analysis to the request queue. The JMS client listens to the
request queue processes the request and puts the result on the result queue. The web app
listens to the result queue picks up the results and displays them.
Everything works fine until we do heavy stress testing. Note that we are using
DeliveryMode.NON_PERSISTENT . After many successful messages have been sent and processed,
we get the exception:
"javax.jms.IllegalStateException: The connection is closed" when trying to send
back the result via JMS.
The code to send the results back is:
try {
// Is there a way to test the queueConnection here so that
// I can reestablish the connection if it is broken or closed ??
QueueSession resultSession =
queueConnection.createQueueSession(false,
QueueSession.AUTO_ACKNOWLEDGE);
ObjectMessage msg = resultSession.createObjectMessage(result);
Queue resultQueue = (Queue) resultDestination;
QueueSender resultSender =
resultSession.createSender(resultQueue);
resultSender.send(msg, DeliveryMode.NON_PERSISTENT,
Message.DEFAULT_PRIORITY,
Message.DEFAULT_TIME_TO_LIVE);
resultSender.close();
resultSession.close();
} catch (JMSException ex) {
logger.error("Caught JMS exception when trying to send result.");
logger.error(ex);
} catch (Exception ex) {
logger.error("Caught exception when trying to send result.");
logger.error(ex);
}
Two questions:
a) Is this a bug in the JBossMQ? We are not getting a JMS onException() call for the
borken/closed connection like you would for ping timeout.
b) Is there a way to test the status of the connection (i.e. someting like a method
connection.isClosed() ) to see if it is broken or closed so that the connection can be
reestablished?
Thanks..
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3997630#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...