HI,
We have two applications deployed to two different JBoss clusters residing on two nodes (each node has one instance of each JBoss server). The JBoss versions are 4.0.3SP1 and 4.2.3GA, each running one of these applications. JBOss MQ is used as a JMS provider and Sybase is used as message store. A single database is used as datastore for all of these JBoss servers.
Are there any known problems associated with this setup? Does this create a possibility of mixxing mesages or disturbing the JMS transaction management? What is the best practice in configuring JMS persistence for multiple JBoss clusters?
Of these applications (let's call them A and B), A has been running for over 4 years on JBoss 4.0.3SP1 and has run well. B, running on 4.2.3GA was deployed a few weeks back. A and B both update a common DB (not same rows) and send messages to other apps/middleware but not to each other. Since the deployment, application A has experienced transaction failures only when application B runs although we have had periods with both running successfully. An analysis of the log shows a JMS exceptions around the time of failure at the point where application A is attempting to post a message to a queue. The thread does not gracefully recover and leaves locks in the database which then prevents other sessions from progressing. The only remedy is to restart JBoss.
We suspect that JMS messages may be getting mixed up, causing the JMS transaction management to fail. However, we have no direct evidence so far that this is the root cause of these exceptions. Hence the above questions.
Thanks for your help,
Deepak