Class constructors accept a singleton Endpoint instance
or an Endpoint specified by type Class. When specified by type, the endpoint
will be instantiated and initialized through the Spring ApplicationContext before
each client WebSocket connection.
This class also extends
ServerEndpointConfig.Configurator to make it easier
to override methods for customizing the handshake process.