I am using JBoss 4.0.2
I have an ear that comprises of few MBeans, SLSB, MDBs. Both SLSB and MDB have dependency on the service MBeans and jboss.xml in the ejb-jar defines it. While starting up or redeploying the ear JBoss ensures that these service MBeans are started before the EJBs are deployed.
My earlier understanding and observation was that stop or undeploying is following the right order, that is stopping EJBs (and their corresponding mapped MBeans) before stopping the service MBeans.
But recently while trying to gracefully shutdown jboss, I found that MDBs were still receiving the messages while the service MBeans were stopped and the MDB code that was using these services had references to the service objects that were not usable and ended up sending resent messages to DLQ (dead-letter-queue)
So it seemed that "kill -9" to the JBoss process would have been a more graceful shutdown saving JMS messages within the durable-subscription managed by the provider. (Sonic MQ)
Am I missing something in the configuration or is it a known issue with jboss 4.0.2?