JettyWebSocketServer

Description:

Implementation of WebSocketServerService. This service uses Jetty WebSocket server module to provide WebSocket session management throughout the application.

Tags:

WebSocket, Jetty, server

Properties:

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
Input Buffer Sizeinput-buffer-size4 kbThe size of the input (read from network layer) buffer size.
Max Text Message Sizemax-text-message-size64 kbThe maximum size of a text message during parsing/generating.
Max Binary Message Sizemax-binary-message-size64 kbThe maximum size of a binary message during parsing/generating.
Listen Portlisten-portThe port number on which this WebSocketServer listens to.
Supports Expression Language: true (will be evaluated using variable registry only)
SSL Context Servicessl-context-serviceController Service API:
RestrictedSSLContextService
Implementation: StandardRestrictedSSLContextService
The SSL Context Service to use in order to secure the server. If specified, the server will accept only WSS requests; otherwise, the server will accept only WS requests
SSL Client Authenticationclient-authenticationNo Authentication
  • No Authentication Processor will not authenticate clients. Anyone can communicate with this Processor anonymously
  • Want Authentication Processor will try to verify the client but if unable to verify will allow the client to communicate anonymously
  • Need Authentication Processor will reject communications from any client unless the client provides a certificate that is trusted by the TrustStore specified in the SSL Context Service
Specifies whether or not the Processor should authenticate client by its certificate. This value is ignored if the <SSL Context Service> Property is not specified or the SSL Context provided uses only a KeyStore and not a TrustStore.
Enable Basic Authenticationbasic-authfalse
  • true
  • false
If enabled, client connection requests are authenticated with Basic authentication using the specified Login Provider.
Basic Authentication Path Specauth-path-spec/*Specify a Path Spec to apply Basic Authentication.
Supports Expression Language: true (will be evaluated using variable registry only)
Basic Authentication Rolesauth-roles**The authenticated user must have one of specified role. Multiple roles can be set as comma separated string. '*' represents any role and so does '**' any role including no role.
Supports Expression Language: true (will be evaluated using variable registry only)
Login Servicelogin-serviceHashLoginService
  • HashLoginService See http://www.eclipse.org/jetty/javadoc/current/org/eclipse/jetty/security/HashLoginService.html for detail.
Specify which Login Service to use for Basic Authentication.
Users Properties Fileusers-properties-fileSpecify a property file containing users for Basic Authentication using HashLoginService. See http://www.eclipse.org/jetty/documentation/current/configuring-security.html for detail.

This property requires exactly one file to be provided..

Supports Expression Language: true (will be evaluated using variable registry only)

State management:

This component does not store state.

Restricted:

This component is not restricted.

System Resource Considerations:

None specified.