public final class ClientProperties
extends java.lang.Object
| Modifier and Type | Field and Description | 
|---|---|
| static java.lang.String | AUTH_CONFIGAuthentication configuration. | 
| static java.lang.String | CREDENTIALSAuthentication credentials. | 
| static java.lang.String | HANDSHAKE_TIMEOUTProperty usable in  ClientManager.getProperties(). | 
| static java.lang.String | INCOMING_BUFFER_SIZEProperty name for maximal incoming buffer size. | 
| static java.lang.String | LOG_HTTP_UPGRADEUser property to configure logging of HTTP upgrade messages. | 
| static java.lang.String | MASKING_KEY_GENERATORProperty name for registering a custom masking key generator. | 
| static java.lang.String | PROXY_HEADERSUser property to set additional proxy headers. | 
| static java.lang.String | PROXY_URIUser property to set proxy URI. | 
| static java.lang.String | RECONNECT_HANDLERProperty usable in  ClientManager.getProperties(). | 
| static java.lang.String | REDIRECT_ENABLEDHTTP Redirect support. | 
| static java.lang.String | REDIRECT_THRESHOLDThe maximal number of redirects during single handshake. | 
| static java.lang.String | RETRY_AFTER_SERVICE_UNAVAILABLEHTTP Service Unavailable -  reconnect support. | 
| static java.lang.String | SHARED_CONTAINERWhen set to  true(boolean value), client runtime preserves used container and reuses it for outgoing
 connections. | 
| static java.lang.String | SHARED_CONTAINER_IDLE_TIMEOUTContainer idle timeout in seconds ( Integervalue). | 
| static java.lang.String | SOCKET_BINDINGProperty name for defining local binding address for all socket created by the client. | 
| static java.lang.String | SSL_ENGINE_CONFIGURATORProperty usable in  ClientManager.getProperties()as a key for SSL configuration. | 
| static java.lang.String | WORKER_THREAD_POOL_CONFIGUser property to set worker thread pool configuration. | 
| Constructor and Description | 
|---|
| ClientProperties() | 
public static final java.lang.String HANDSHAKE_TIMEOUT
ClientManager.getProperties().
 
 Value must be int and represents handshake timeout in milliseconds. Default value is 30000 (30 seconds).
public static final java.lang.String RECONNECT_HANDLER
ClientManager.getProperties().
 
 Value must be ClientManager.ReconnectHandler instance.
public static final java.lang.String PROXY_URI
 Value is expected to be String and represent proxy URI. Protocol part is currently ignored
 but must be present (URI.URI(String) is used for parsing).
 
     client.getProperties().put(ClientProperties.PROXY_URI, "http://my.proxy.com:80");
     client.connectToServer(...);
 public static final java.lang.String PROXY_HEADERS
 Value is expected to be Map<String, String> and represent raw http headers
 to be added to initial request which is sent to proxy. Key corresponds to header name, value is header
 value.
 
Sample below demonstrates use of this feature to set preemptive basic proxy authentication:
     final HashMap<String, String> proxyHeaders = new HashMap<String, String>();
     proxyHeaders.put("Proxy-Authorization", "Basic " +
         Base64.getEncoder().encodeToString("username:password".getBytes(Charset.forName("UTF-8"))));
     client.getProperties().put(ClientProperties.PROXY_HEADERS, proxyHeaders);
     client.connectToServer(...);
 
 Please note that these headers will be used only when establishing proxy connection, for modifying
 WebSocket handshake headers, see
 ClientEndpointConfig.Configurator.beforeRequest(java.util.Map).public static final java.lang.String SSL_ENGINE_CONFIGURATOR
ClientManager.getProperties() as a key for SSL configuration.
 
 Value is expected to be either org.glassfish.grizzly.ssl.SSLEngineConfigurator or
 SslEngineConfigurator when configuring Grizzly client or only
 SslEngineConfigurator when configuring JDK client.
 
 The advantage of using SslEngineConfigurator with Grizzly client is that
 SslEngineConfigurator allows configuration of host name verification
 (which is turned on by default)
 
Example configuration for JDK client:
      SslContextConfigurator sslContextConfigurator = new SslContextConfigurator();
      sslContextConfigurator.setTrustStoreFile("...");
      sslContextConfigurator.setTrustStorePassword("...");
      sslContextConfigurator.setTrustStoreType("...");
      sslContextConfigurator.setKeyStoreFile("...");
      sslContextConfigurator.setKeyStorePassword("...");
      sslContextConfigurator.setKeyStoreType("...");
      SslEngineConfigurator sslEngineConfigurator = new SslEngineConfigurator(sslContextConfigurator, true,
          false, false);
      client.getProperties().put(ClientProperties.SSL_ENGINE_CONFIGURATOR, sslEngineConfigurator);
 public static final java.lang.String INCOMING_BUFFER_SIZE
 Can be set in properties map (see ClientContainer.openClientSocket(jakarta.websocket.ClientEndpointConfig, java.util.Map,
 org.glassfish.tyrus.spi.ClientEngine).
public static final java.lang.String SHARED_CONTAINER
true (boolean value), client runtime preserves used container and reuses it for outgoing
 connections.
 
 A single thread pool is reused by all clients with this property set to true.
 JDK client supports only shared container option, so setting this property has no effect.
public static final java.lang.String SHARED_CONTAINER_IDLE_TIMEOUT
Integer value).
 When the timeout elapses, the shared thread pool will be destroyed.
SHARED_CONTAINER, 
Constant Field Valuespublic static final java.lang.String WORKER_THREAD_POOL_CONFIG
 An instance of ThreadPoolConfig is expected for both JDK
 and Grizzly client. Instance of org.glassfish.grizzly.threadpool.ThreadPoolConfig, can be used
 for Grizzly client.
 
Sample below demonstrates how to use this property:
     client.getProperties().put(ClientProperties.WORKER_THREAD_POOL_CONFIG, ThreadPoolConfig.defaultConfig());
 public static final java.lang.String AUTH_CONFIG
 Value must be AuthConfig instance.
 
Sample below demonstrates how to use this property:
     client.getProperties().put(ClientProperties.AUTH_CONFIG, AuthConfig.builder().enableProvidedBasicAuth()
     .build());
 AuthConfig, 
AuthConfig.Builder, 
Authenticator, 
Constant Field Valuespublic static final java.lang.String CREDENTIALS
 Value must be Credentials instance.
 
 Provided authenticators (both Basic and Digest) require this property set,
 otherwise AuthenticationException will be thrown during a handshake.
 User defined authenticators may look up credentials in another sources.
 
Sample below demonstrates how to use this property:
     client.getProperties().put(ClientProperties.CREDENTIALS, new Credentials("websocket_user", "password");
 Credentials, 
AuthConfig, 
Authenticator, 
Constant Field Valuespublic static final java.lang.String REDIRECT_ENABLED
 Value is expected to be boolean. Default value is false.
 
 When set to true and one of the following redirection HTTP response status code (3xx) is received during
 a handshake, client will attempt to connect to the URI contained in 
 header from handshake response. Number of redirection is limited by property REDIRECT_THRESHOLD
 (integer value), while default value is .
 
List of supported HTTP status codes:
300 - Multiple Choices301 - Moved permanently302 - Found303 - See Other (since HTTP/1.1)307 - Temporary Redirect (since HTTP/1.1)308 - Permanent Redirect (Experimental RFC; RFC 7238)REDIRECT_THRESHOLD, 
Constant Field Valuespublic static final java.lang.String REDIRECT_THRESHOLD
 Value is expected to be positive Integer. Default value is .
 
 HTTP redirection must be enabled by property REDIRECT_ENABLED, otherwise REDIRECT_THRESHOLD is
 not applied.
REDIRECT_ENABLED, 
RedirectException, 
Constant Field Valuespublic static final java.lang.String RETRY_AFTER_SERVICE_UNAVAILABLE
 Value is expected to be boolean. Default value is false.
 
 When set to true and HTTP response code 503 - Service Unavailable is received, client will
 attempt to reconnect after delay specified in  header from handshake
 response. According to RFC 2616 the value must be decimal integer (representing delay in seconds) or http-date.
 
Tyrus client will try to reconnect after this delay if:
public static final java.lang.String LOG_HTTP_UPGRADE
 Value is expected to be boolean. Default value is false.
 
 When set to true upgrade request and response messages will be logged regardless of the logging
 level configuration. When the logging is configured to Level.FINE or lower,
 this setting will have no effect as at this level HTTP upgrade messages will be logged anyway.
public static final java.lang.String MASKING_KEY_GENERATOR
MaskingKeyGenerator.
 
 As a security measure, all frames originating on websocket client have to be masked with random 4B value, which
 should be freshly generated for each frame. Moreover to fully comply with the security requirements of RFC 6455,
 a masking key of a frame must not be predictable from masking keys of previous frames and therefore Tyrus uses
 SecureRandom as a default masking key generator. While this is perfectly OK for most Tyrus
 client use cases, usage of SecureRandom might prove to be a performance issue,
 when the client is used for instance for highly parallel stress testing as SecureRandom
 uses a synchronized singleton as a random entropy provider in its internals.
 
 This property allows replacing the default SecureRandom with a more scalable provider
 of masking keys.
public static final java.lang.String SOCKET_BINDING
InetAddress.
 Sample below demonstrates how to use this property:
     client.getProperties().put(ClientProperties.SOCKET_BINDING, InetAddress.getByName("127.0.0.1"));
 Copyright © 2012–2020 Oracle Corporation. All rights reserved.