I am working on investigating an error that has occured several times at our clients' side.
We are using Jboss 3, the messages are being stored on object store db, our clients have written some tools to pick up the messages publichsed by our system and store them into a number of their sub-systems.
The problem has occured where one of the argonaut's were down and when it is restarted, they get the following exception:
2004-07-30 09:19:42,875 WARN [org.jboss.mq.SpyMessageConsumer] Message consumer closing due to error in listening thread.
org.jboss.mq.SpyJMSException: Could not load message from secondary storage: ; - nested throwable: (java.io.FileNotFoundException: E:\apps\jboss\server\xenon-jms\tmp\jbossmq\Message-42420141 (The system cannot find the file specified))
As a result, their subsystems are ending up with inconsistent messages as others were able to pick up the messages.
My questions are:
1. When do the files get removed from the tmp/jbossmq folder?
2. Should the client's code be concerned with looking at the tmp/jbossmq folder or should they just use the messages.odb database
I am not too clear on the workings of JBossMQ so want to gather some details before discussin with the client. I have searched the site but unable to get specifics, can you please answer the above for me.
Just a bit of advice. The file PMs are not officially supported. You should be using the JDBC PM, which does not require use of the CacheStore.
If you are using a database, then set the cache store to the persistence manager in the -service.xml file. Take a look at JBoss 3.2.5 as an example.