Tyrus 2.1.5 User Guide


Table of Contents

Preface
1. Getting Started
1.1. WebSocket Services Using Java API for WebSocket
1.1.1. Creating Annotated Server Endpoint
1.1.2. Client Endpoint
1.1.3. Creating Server Endpoint Programmatically
1.1.4. Tyrus in Standalone Mode
1.2. Creating a New Project from Maven Archetype
1.2.1. Executing maven
1.2.2. Exploring the Newly Created Project
1.2.3. Building the generated project
1.2.4. Running the deployed application
2. Tyrus Modules and Dependencies
3. Deploying WebSocket Endpoints
3.1. Deploying Endpoints as a WAR file
3.1.1. Deployment Algorithm
3.2. Deploying endpoints via jakarta.websocket.server.ServerContainer
4. WebSocket API Endpoints, Sessions and MessageHandlers
4.1. Endpoint Classes
4.1.1. jakarta.websocket.server.ServerEndpoint
4.1.2. jakarta.websocket.ClientEndpoint
4.2. Endpoint method-level annotations
4.2.1. @OnOpen
4.2.2. @OnClose
4.2.3. @OnError
4.2.4. @OnMessage
4.3. MessageHandlers
5. Configurations
5.1. jakarta.websocket.server.ServerEndpointConfig
5.2. jakarta.websocket.ClientEndpointConfig
6. Endpoint Lifecycle, Sessions, Sending Messages
6.1. Endpoint Lifecycle
6.2. jakarta.websocket.Session
6.3. Sending Messages
6.4. RemoteEndpoint
6.4.1. jakarta.websocket.RemoteEndpoint.Basic
6.4.2. jakarta.websocket.RemoteEndpoint.Async
7. Injection Support
7.1. jakarta.inject.Inject sample
7.2. EJB sample
8. Tyrus proprietary configuration
8.1. Client-side SSL configuration
8.1.1. Host verification
8.2. Asynchronous connectToServer methods
8.3. Optimized broadcast
8.4. Incoming buffer size
8.5. Shared client container
8.5.1. Custom masking key generator
8.6. WebSocket Extensions
8.6.1. ExtendedExtension sample
8.6.2. Per Message Deflate Extension
8.7. Client reconnect
8.8. Client behind proxy
8.9. JDK 7 client
8.9.1. SSL configuration
8.10. Tracing support
8.10.1. Configuration
8.10.2. Tracing Examples
8.11. Client handshake request and response logging
8.12. JMX Monitoring
8.12.1. Configuration
8.13. Maximal number of open sessions on server-side
8.13.1. Maximal number of open sessions per application
8.13.2. Maximal number of open sessions per remote address
8.13.3. Maximal number of open sessions per endpoint
8.14. Client HTTP Authentication
8.14.1. Credentials
8.14.2. Auth Configuration
8.14.3. User defined authenticator
8.14.4. Examples
8.15. Client HTTP Redirect
8.15.1. Supported HTTP response codes
8.15.2. Configuration
8.15.3. Exception handling
8.16. Client support for HTTP status 503 - Service Unavailable with Retry-After header
8.16.1. Configuration

List of Tables

2.1. Tyrus core modules
2.2. Tyrus containers