Class WebsocketChannelManager

java.lang.Object
com.sun.faces.push.WebsocketChannelManager
All Implemented Interfaces:
Serializable

@SessionScoped
public class WebsocketChannelManager
extends Object
implements Serializable

This web socket channel manager holds all application and session scoped web socket channel identifiers registered by <f:websocket>.

Since:
2.3
Author:
Bauke Scholtz
See Also:
Push, Serialized Form
  • Constructor Details

  • Method Details

    • register

      public String register​(FacesContext context, String channel, String scope, Serializable user)
      Register given channel on given scope and returns the web socket channel identifier.
      Parameters:
      context - The involved faces context.
      channel - The web socket channel.
      scope - The web socket scope. Supported values are application, session and view, case insensitive. If null, the default is application.
      user - The user object representing the owner of the given channel. If not null, then scope may not be application.
      Returns:
      The web socket URL.
      Throws:
      IllegalArgumentException - When the scope is invalid or when channel already exists on a different scope.
    • deregisterSessionScope

      @PreDestroy protected void deregisterSessionScope()
      When current session scope is about to be destroyed, deregister all session scope channels and explicitly close any open web sockets associated with it to avoid stale websockets. If any, also deregister session users.