o:socket
opens an one-way (server to client) web socket based push conntection
in client side which can be reached from server side via org.omnifaces.cdi.PushContext
interface injected in any CDI/container managed artifact via org.omnifaces.cdi.Push
annotation.
For detailed usage instructions, see org.omnifaces.cdi.push.Socket
javadoc.
Info | Value |
---|---|
Component Type | org.omnifaces.cdi.push.Socket |
Handler Class | None |
Renderer Type | None |
Description | None |
Name | Required | Type | Description |
---|---|---|---|
port | false | jakarta.el.ValueExpression
(must evaluate to java.lang.Integer )
| The port number of the web socket host, in case it is different from the port number in the request URI. Defaults to the port number of the request URI. |
channel | true | java.lang.String | The name of the web socket channel. It may not be an EL expression and it may only contain alphanumeric characters, hyphens, underscores and periods. All open websockets on the same channel will receive the same push message from the server. |
scope | false | java.lang.String |
The scope of the web socket channel.
It may not be an EL expression and allowed values are application , session and view , case insensitive.
When the value is application , then all channels with the same name throughout the application will receive the same push message.
When the value is session , then only the channels with the same name in the current user session will receive the same push message.
When the value is view , then only the channel in the current view will receive the push message.
The default scope is application .
When the user attribute is specified, then the default scope is session .
|
user | false | jakarta.el.ValueExpression
(must evaluate to java.io.Serializable )
|
The user identifier of the web socket channel, so that user-targeted push messages can be sent.
It must implement Serializable and preferably have low memory footprint.
Suggestion: use #{request.remoteUser} or #{someLoggedInUser.id} .
All open websockets on the same channel and user will receive the same push message from the server.
|
onopen | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| The JavaScript event handler function that is invoked when the web socket is opened. The function will be invoked with one argument: the channel name. |
onmessage | true | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
| The JavaScript event handler function that is invoked when a push message is received from the server. The function will be invoked with three arguments: the push message, the channel name and the raw MessageEvent itself. |
onerror | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
|
The JavaScript event handler function that is invoked when a connection error has occurred and the web
socket will attempt to reconnect. The function will be invoked with three arguments: the error reason code, the
channel name and the raw CloseEvent itself. Note that this will not be invoked on final close of the
web socket, even when the final close is caused by an error. See also
RFC 6455 section 7.4.1 and
CloseCodes
API for an elaborate list of all close codes.
|
onclose | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String )
|
Sets the JavaScript event handler function that is invoked when the web socket is closed and will not anymore
attempt to reconnect. The function will be invoked with three arguments: the close reason code, the channel name
and the raw CloseEvent itself. Note that this will also be invoked when the close is caused by an
error and that you can inspect the close reason code if an actual connection error occurred and which one (i.e.
when the code is not 1000 or 1008). See also
RFC 6455 section 7.4.1 and
CloseCodes
API for an elaborate list of all close codes.
|
connected | false | jakarta.el.ValueExpression
(must evaluate to boolean )
|
Whether to (auto)connect the web socket or not.
Defaults to true .
It's interpreted as a JavaScript instruction whether to open or close the web socket push connection.
Note that this attribute is re-evaluated on every ajax request.
You can also explicitly set it to false and then manually control in JavaScript by
OmniFaces.Push.open("channelName") and OmniFaces.Push.close("channelName") .
|
Output generated by Vdldoc View Declaration Language Documentation Generator.