I have a J2EE server application talking to many ActiveX clients over the Internet. Occasionally we have to take the server down for maintenance. While the server is down, all the clients are trying to reconnect.

The problem I need to fix is that when the server comes back online, there are a 1000+ clients all trying to reconnect right away. Sometimes, the server dies under this initial onslaught.

What are some good ways to handle this?