eclipse-ee4j / eclipse-ee4j/tyrus
Question regarding ReconnectionHandler usage from docs.
- Dominant language
- Java
- Stars
- 128
- Forks
- 49
- PR merge metrics
- No merged PRs in 30d
Description
Are there any possible when getDelay will not be invoked and we should use Thread.sleep inside reconnection handler?
```
ClientManager client = ClientManager.createClient();
ClientManager.ReconnectHandler reconnectHandler = new ClientManager.ReconnectHandler() {
private int counter = 0;
@Override
public boolean onDisconnect(CloseReason closeReason) {
counter++;
if (counter <= 3) {
System.out.println("### Reconnecting... (reconnect count: " + counter + ")");
return true;
} else {
return false;
}
}
@Override
public boolean onConnectFailure(Exception exception) {
counter++;
if (counter <= 3) {
System.out.println("### Reconnecting... (reconnect count: " + counter + ") " + exception.getMessage());
// Thread.sleep(...) or something other "sleep-like" expression can be put here - you might want
// to do it here to avoid potential DDoS when you don't limit number of reconnects.
return true;
} else {
return false;
}
}
@Override
public long getDelay() {
return 1;
}
};
client.getProperties().put(ClientProperties.RECONNECT_HANDLER, reconnectHandler);
client.connectToServer(...)
```
Contributor guide
Assessment
This issue has not been assessed yet.