Package org.glassfish.tyrus.client
Class ClientManager.ReconnectHandler
- java.lang.Object
-
- org.glassfish.tyrus.client.ClientManager.ReconnectHandler
-
- Enclosing class:
- ClientManager
public static class ClientManager.ReconnectHandler extends java.lang.Object
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
Constructors Constructor Description ReconnectHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getDelay()
Get reconnect delay.boolean
onConnectFailure(java.lang.Exception exception)
Called when there is a connection failure.boolean
onDisconnect(CloseReason closeReason)
Called afterOnClose
annotated method (orEndpoint.onClose(javax.websocket.Session, javax.websocket.CloseReason)
is invoked.
-
-
-
Method Detail
-
onDisconnect
public boolean onDisconnect(CloseReason closeReason)
Called afterOnClose
annotated method (orEndpoint.onClose(javax.websocket.Session, javax.websocket.CloseReason)
is invoked.- Parameters:
closeReason
- close reason passed to onClose method.- Returns:
- When
true
is returned, client container will reconnect.
-
onConnectFailure
public boolean onConnectFailure(java.lang.Exception exception)
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.
-
-