Maybe some of the techies can help me out.
Is there any way to set the minimum time for a shutdown?
While I presume ultimately the JVM will define when the system goes down, I have noticed that I will (sometimes) actually wait a little longer then usual.
Is there any way to force such a behavior?
I suppose if one of your MBean services "holds" the shutdown thread, while other threads of yours do the extra cleaning-up, maybe that would work.
You'd also have to put your mbean stop code early in the shutdown sequence. Maybe if you use a BarrierController catching the server stop notification, and your mbean depending on it.