Sending messages in an asynchronous manner avoid blocking the sending thread. This is a great where your solution needs to scale in order to support a large number of clients.
But there is a limit on how long can we wait for the asynchronous process to complete
The Java WebSocket API gives you a few options in this regard
Async Timeout support
- first and foremost, there is a notion of a timeout and this can be configured using the
setSendTimeoutmethod in the
- secondly, the failure result manifests itself using the
How do timeouts manifest ?
It depends on which strategy you’re using in order to send your messages
- Callback based
- Future (java.util.concurrent) based
In case you are using the
java.websocket.SendHandler i.e. the callback handler route, the timeout exception details will be available via
If you chose to use the
Future to track the completion, calling it
get method will result in a