Hey all, We're currently investigating a load-induced problem with our MDBs, which is causing some issues. To summarise the chain of events briefly:
- The thread pool of our Resource Adapter is exhausted, which is most likely caused by interaction with an external system. This causes MDB message processing to stall. - The RejectedExecutionHandler of the GeronimoWorkManager threadpool then kicks in and throws a RejectedExecutionException after hitting the timeout. - The ActiveMQ consumer tied to the MDB is recreated or in case of maxSessions=1 completely vanishes - The external system recovers, allowing the thread pool to catch up. The problem is that we also have two MDBs with maxSessions = 1. If one of these dies, it is apparently never recreated. Later on, we are hit by a jakarta.jms.ResourceAllocationException because the topic fills up without its consumer. Initially, I thought this was caused by the GeronimoWorkManager throwing a RejectedExecutionException instead of a WorkRejectedException, which I reported upstream: https://issues.apache.org/jira/browse/GERONIMO-6911. However, even with the patched version, we observe the same behaviour. -- Thomas Butz OPTITOOL GmbH
