Package org.glassfish.tyrus.client
Class ClientManager.ReconnectHandler
java.lang.Object
org.glassfish.tyrus.client.ClientManager.ReconnectHandler
- Enclosing class:
ClientManager
Reconnect handler.
When implementing, be sure that you do have enough logic behind cancelling reconnect feature - even Session.close()
call will be treated just like any other disconnect resulting in reconnect.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionlong
getDelay()
Get reconnect delay.boolean
onConnectFailure
(Exception exception) Called when there is a connection failure.boolean
onDisconnect
(CloseReason closeReason) Called afterOnClose
annotated method (orEndpoint.onClose(jakarta.websocket.Session, jakarta.websocket.CloseReason)
is invoked.
-
Constructor Details
-
ReconnectHandler
public ReconnectHandler()
-
-
Method Details
-
onDisconnect
Called afterOnClose
annotated method (orEndpoint.onClose(jakarta.websocket.Session, jakarta.websocket.CloseReason)
is invoked.- Parameters:
closeReason
- close reason passed to onClose method.- Returns:
- When
true
is returned, client container will reconnect.
-
onConnectFailure
Called when there is a connection failure.Type of the failure is indicated by
Exception
parameter. Be cautious when implementing this method, you might easily cause DDoS like behaviour.- Parameters:
exception
- Exception thrown during connection phase.- Returns:
- When
true
is returned, client container will reconnect.
-
getDelay
public long getDelay()Get reconnect delay.Called after
onDisconnect(CloseReason)
oronConnectFailure(Exception)
whentrue
is returned. When positive value is returned, next connection attempt will be made after that number of seconds.Default implementation returns 5L.
- Returns:
- reconnect delay in seconds.
-