// Set the system up to resume anyway after maxConnectedTime
ServerLoadMonitor slm = serverLoadMonitor;
long connectedTime = slm.getConnectedTime();
final int disconnectedTime = slm.getDisconnectedTime();
alarms.add(new TimedAlarm(sleeper, connectedTime, executor));
// We also need to wake-up if the server is being shut down
// WARNING: This code has a non-obvious side effect - The server load
// monitor (which hands out shutdown messages) also monitors usage by
// looking at the number of connected alarms.