Are JMS messages cached?
hitcher Oct 7, 2004 5:07 AMWe had some weird phenomenons at a customer site that we are unable to explain. I am actually not sure if anyone can explain that. I can already see adrian asking me what drugs I am taking :)
The customer is currently running acceptance tests for our product which will take about 2 months.
Our product is J2EE based using EJBs and JMS and for this customer is planned to be deployed on JBoss 3.2.2 on HP-UX with Oracle 9.2 (also used for JMS). We are using JMS to publish all logging information (audit trails, error logs etc.)
14 days ago the customer started to take down the Oracle 9.2 database during night for offline backups. They did not take down JBoss and there is also a service running accessing the system in a regular interval. When the database is down this is leading to some exceptions of course which is expected at this point of time.
3 days ago they were unable to perform any actions because the got a "unique constraint violation" from the JMS system.
We investigated and found about 150 JMS messages in the JMS table in Oracle. Those entries where messages for our ErrorMessageTopic but it seems that topic was handled as a a temporary topic at that time (we don't have temporary topics). We wrote a small program to extract the blob to get some more information.
All the messages were from the first 4 days of the 14 day time period from the timeframe when the database was down.
But here is now the really disturbing bit. The message in the JMS table are messages reporting a database connection error (expected errors because the database was down). But how can it be that i have JMS messages stored in Oracle reporting that is not possible to connect to oracle? Is Jboss under certain circumstances caching messages and persisting them later?
I was not able to re-produce this behavior so far. Has anyone ever encountered something similar?