new ClientListener()
This is a dummy constructor not to be used in any case.
Method Summary
- onListenEnd
- Event handler that receives a notification when the ClientListener instance is removed from a LightstreamerClient through LightstreamerClient#removeListener.
- onListenStart
- Event handler that receives a notification when the ClientListener instance is added to a LightstreamerClient through LightstreamerClient#addListener.
- onPropertyChange
- Event handler that receives a notification each time the value of a property of LightstreamerClient#connectionDetails or LightstreamerClient#connectionOptions is changed.
- onServerError
- Event handler that is called when the Server notifies a refusal on the client attempt to open a new connection or the interruption of a streaming connection.
- onStatusChange
- Event handler that receives a notification each time the LightstreamerClient status has changed.
Method Detail
-
onListenEnd(lsClient)
-
Event handler that receives a notification when the ClientListener instance is removed from a LightstreamerClient through LightstreamerClient#removeListener. This is the last event to be fired on the listener.
Parameters:
Name Type Description lsClient
LightstreamerClient the LightstreamerClient this instance was removed from. -
onListenStart(lsClient)
-
Event handler that receives a notification when the ClientListener instance is added to a LightstreamerClient through LightstreamerClient#addListener. This is the first event to be fired on the listener.
Parameters:
Name Type Description lsClient
LightstreamerClient the LightstreamerClient this instance was added to. -
onPropertyChange(the)
-
Event handler that receives a notification each time the value of a property of LightstreamerClient#connectionDetails or LightstreamerClient#connectionOptions is changed.
Parameters:
Name Type Description the
String name of the changed property.
Possible values are:- adapterSet
- serverAddress
- user
- password
- serverInstanceAddress
- serverSocketName
- sessionId
- contentLength
- idleTimeout
- keepaliveInterval
- maxBandwidth
- pollingInterval
- reconnectTimeout
- stalledTimeout
- retryDelay
- firstRetryMaxDelay
- slowingEnabled
- forcedTransport
- serverInstanceAddressIgnored
- cookieHandlingRequired
- reverseHeartbeatInterval
- earlyWSOpenEnabled
- httpExtraHeaders
- httpExtraHeadersOnSessionCreationOnly
-
onServerError(errorCode, errorMessage)
-
Event handler that is called when the Server notifies a refusal on the client attempt to open a new connection or the interruption of a streaming connection. In both cases, the ClientListener#onStatusChange event handler has already been invoked with a "DISCONNECTED" status and no recovery attempt has been performed. By setting a custom handler, however, it is possible to override this and perform custom recovery actions.
Parameters:
Name Type Description errorCode
Number The error code. It can be one of the following: - 1 - user/password check failed
- 2 - requested Adapter Set not available
- 7 - licensed maximum number of sessions reached (this can only happen with some licenses)
- 8 - configured maximum number of sessions reached
- 9 - configured maximum server load reached
- 10 - new sessions temporarily blocked
- 11 - streaming is not available because of Server license restrictions (this can only happen with special licenses)
- 30-41 - the current connection or the whole session has been closed
by external agents; the possible cause may be:
- The session was closed by the administrator, through JMX (32) or through a "destroy" request (31);
- The Metadata Adapter imposes limits on the overall open sessions for the current user and has requested the closure of the current session upon opening of a new session for the same user (35);
- An unexpected error occurred on the Server while the session was in activity (33, 34);
- An unknown or unexpected cause; any code different from the ones identified in the above cases could be issued.
- 60 - this version of the client is not allowed by the current license terms.
- 71 - this kind of client is not allowed by the current license terms.
- <= 0 - the Metadata Adapter has refused the user connection; the code value is dependent on the specific Metadata Adapter implementation
errorMessage
String The description of the error as sent by the Server. -
onStatusChange(chngStatus)
-
Event handler that receives a notification each time the LightstreamerClient status has changed. The status changes may be originated either by custom actions (e.g. by calling LightstreamerClient#disconnect) or by internal actions.
The normal cases are the following:- After issuing connect(), if the current status is "DISCONNECTED*", the
client will switch to "CONNECTING" first and
to "CONNECTED:STREAM-SENSING" as soon as the pre-flight request receives its
answer.
As soon as the new session is established, it will switch to "CONNECTED:WS-STREAMING" if the browser/environment permits WebSockets; otherwise it will switch to "CONNECTED:HTTP-STREAMING" if the browser/environment permits streaming or to "CONNECTED:HTTP-POLLING" as a last resort.
On the other hand if the status is already "CONNECTED:*" a switch to "CONNECTING" is usually not needed. - After issuing disconnect(), the status will switch to "DISCONNECTED".
- In case of a server connection refusal, the status may switch from "CONNECTING" directly to "DISCONNECTED". After that, the ClientListener#onServerError event handler will be invoked.
Possible special cases are the following:- In case of Server unavailability during streaming, the status may switch from "CONNECTED:*-STREAMING" to "STALLED" (see ConnectionOptions#setStalledTimeout). If the unavailability ceases, the status will switch back to ""CONNECTED:*-STREAMING""; otherwise, if the unavailability persists (see ConnectionOptions#setReconnectTimeout), the status will switch to "DISCONNECTED:TRYING-RECOVERY" and eventually to "CONNECTED:*-STREAMING".
- In case the connection or the whole session is forcibly closed by the Server, the status may switch from "CONNECTED:*-STREAMING" or "CONNECTED:*-POLLING" directly to "DISCONNECTED". After that, the ClientListener#onServerError event handler will be invoked.
- Depending on the setting in ConnectionOptions#setSlowingEnabled, in case of slow update processing, the status may switch from "CONNECTED:WS-STREAMING" to "CONNECTED:WS-POLLING" or from "CONNECTED:HTTP-STREAMING" to "CONNECTED:HTTP-POLLING".
- If the status is "CONNECTED:*-POLLING" and any problem during an intermediate poll occurs, the status may switch to "CONNECTING" and eventually to "CONNECTED:*-POLLING". The same may hold for the "CONNECTED:*-STREAMING" case, when a rebind is needed.
- In case a forced transport was set through ConnectionOptions#setForcedTransport, only the related final status or statuses are possible.
- In case of connection problems, the status may switch from any value to "DISCONNECTED:WILL-RETRY" (see ConnectionOptions#setRetryDelay), then to "CONNECTING" and a new attempt will start. However, in most cases, the client will try to recover the current session; hence, the "DISCONNECTED:TRYING-RECOVERY" status will be used and the recovery attempt will start.
- In case of connection problems during a recovery attempt, the status may stay in "DISCONNECTED:TRYING-RECOVERY" for long time, while further attempts are made. If the recovery is no longer possible, the current session will be abandoned and the status will switch to "DISCONNECTED:WILL-RETRY" before the next attempts.
By setting a custom handler it is possible to perform actions related to connection and disconnection occurrences. Note that LightstreamerClient#connect and LightstreamerClient#disconnect, as any other method, can be issued directly from within a handler.Parameters:
Name Type Description chngStatus
String The new status. It can be one of the following values: - "CONNECTING" the client has started a connection attempt and is waiting for a Server answer.
- "CONNECTED:STREAM-SENSING" the client received a first response from the server and is now evaluating if a streaming connection is fully functional.
- "CONNECTED:WS-STREAMING" a streaming connection over WebSocket has been established.
- "CONNECTED:HTTP-STREAMING" a streaming connection over HTTP has been established.
- "CONNECTED:WS-POLLING" a polling connection over WebSocket has been started. Note that, unlike polling over HTTP, in this case only one connection is actually opened (see ConnectionOptions#setSlowingEnabled).
- "CONNECTED:HTTP-POLLING" a polling connection over HTTP has been started.
- "STALLED" a streaming session has been silent for a while, the status will eventually return to its previous CONNECTED:*-STREAMING status or will switch to "DISCONNECTED:WILL-RETRY".
- "DISCONNECTED:WILL-RETRY" a connection or connection attempt has been closed; a new attempt will be performed after a timeout.
- "DISCONNECTED:TRYING-RECOVERY" a connection has been closed and the client has started a connection attempt and is waiting for a Server answer; if successful, the underlying session will be kept.
- "DISCONNECTED" a connection or connection attempt has been closed. The client will not connect anymore until a new LightstreamerClient#connect call is issued.
- After issuing connect(), if the current status is "DISCONNECTED*", the
client will switch to "CONNECTING" first and
to "CONNECTED:STREAM-SENSING" as soon as the pre-flight request receives its
answer.