I have inherited an application from a team that doesn't exist anymore. The system is in production with HSQLDB (argh!) as the persistence engine of 2 queues, one for incoming messages, the other for outgoing messages. From time to time the application get "stuck": messages are accumulating into the queues and dequeuers are not waken up until we restart the app server entirely.
Can this be related to HSQLDB? Would it help to migrate to MySQL (which we intend to do anyway)?
A thread dump when the problem occurs shows the listeners waiting on the queues, so it's not clear to me if this can be related to the underlying persistence engine.
In order to try to mitigate the problem, we have increased the amount of concurrent listeners on every queue from 3 to 10: I wonder whether this can really make things better or worse. It's also worth noting that if I check the receivers when the problem happens, though, I see that the total number is 0 (while normally it is 10, after last change).
We are currently using JBoss 4.0.5.GA in a non clustered environment.
Any hint would be extremely appreciated.