public class ServerWebSocketContainer extends Object implements javax.websocket.server.ServerContainer, Closeable
ServerContainer implementation which allows to deploy endpoints for a server.| Modifier and Type | Class and Description |
|---|---|
static interface | ServerWebSocketContainer.PauseListener |
| Modifier and Type | Field and Description |
|---|---|
static int | DEFAULT_WEB_SOCKET_TIMEOUT_SECONDS |
static String | TIMEOUT |
| Constructor and Description |
|---|
ServerWebSocketContainer(ClassIntrospecter classIntrospecter, ClassLoader classLoader, Supplier<org.xnio.XnioWorker> xnioWorker, ByteBufferPool bufferPool, List<ThreadSetupHandler> threadSetupHandlers, boolean dispatchToWorker) |
ServerWebSocketContainer(ClassIntrospecter classIntrospecter, ClassLoader classLoader, Supplier<org.xnio.XnioWorker> xnioWorker, ByteBufferPool bufferPool, List<ThreadSetupHandler> threadSetupHandlers, boolean dispatchToWorker, InetSocketAddress clientBindAddress, WebSocketReconnectHandler reconnectHandler) |
ServerWebSocketContainer(ClassIntrospecter classIntrospecter, ClassLoader classLoader, Supplier<org.xnio.XnioWorker> xnioWorker, ByteBufferPool bufferPool, List<ThreadSetupHandler> threadSetupHandlers, boolean dispatchToWorker, InetSocketAddress clientBindAddress, WebSocketReconnectHandler reconnectHandler, List<javax.websocket.Extension> installedExtensions) |
ServerWebSocketContainer(ClassIntrospecter classIntrospecter, Supplier<org.xnio.XnioWorker> xnioWorker, ByteBufferPool bufferPool, List<ThreadSetupHandler> threadSetupHandlers, boolean dispatchToWorker, boolean clientMode) |
| Modifier and Type | Method and Description |
|---|---|
void | addEndpoint(Class<?> endpoint) |
void | addEndpoint(javax.websocket.server.ServerEndpointConfig endpoint) |
void | close() |
void | close(int waitTime) |
javax.websocket.Session | connectToServer(Class<?> aClass, URI uri) |
javax.websocket.Session | connectToServer(Class<?> aClass, WebSocketClient.ConnectionBuilder connectionBuilder) |
javax.websocket.Session | connectToServer(Class<? extends javax.websocket.Endpoint> endpointClass, javax.websocket.ClientEndpointConfig cec, URI path) |
javax.websocket.Session | connectToServer(javax.websocket.Endpoint endpointInstance, javax.websocket.ClientEndpointConfig config, URI path) |
javax.websocket.Session | connectToServer(javax.websocket.Endpoint endpointInstance, javax.websocket.ClientEndpointConfig config, WebSocketClient.ConnectionBuilder connectionBuilder) |
javax.websocket.Session | connectToServer(Object annotatedEndpointInstance, URI path) |
javax.websocket.Session | connectToServer(Object annotatedEndpointInstance, WebSocketClient.ConnectionBuilder connectionBuilder) |
void | deploymentComplete() |
void | doUpgrade(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.websocket.server.ServerEndpointConfig sec, Map<String,String> pathParams) |
ByteBufferPool | getBufferPool() |
List<ConfiguredServerEndpoint> | getConfiguredServerEndpoints() |
ServletContextImpl | getContextToAddFilter() |
long | getDefaultAsyncSendTimeout() |
int | getDefaultMaxBinaryMessageBufferSize() |
long | getDefaultMaxSessionIdleTimeout() |
int | getDefaultMaxTextMessageBufferSize() |
Set<javax.websocket.Extension> | getInstalledExtensions() |
WebSocketReconnectHandler | getWebSocketReconnectHandler() |
org.xnio.XnioWorker | getXnioWorker() |
void | invokeEndpointMethod(Executor executor, Runnable invocation) Runs a web socket invocation, setting up the threads and dispatching a thread pool |
void | invokeEndpointMethod(Runnable invocation) Directly invokes an endpoint method, without dispatching to an executor |
boolean | isClosed() |
boolean | isDispatchToWorker() |
void | pause(ServerWebSocketContainer.PauseListener listener) Pauses the container |
void | resume() resumes a paused container |
void | setAsyncSendTimeout(long defaultAsyncSendTimeout) |
void | setContextToAddFilter(ServletContextImpl contextToAddFilter) |
void | setDefaultMaxBinaryMessageBufferSize(int defaultMaxBinaryMessageBufferSize) |
void | setDefaultMaxSessionIdleTimeout(long timeout) |
void | setDefaultMaxTextMessageBufferSize(int defaultMaxTextMessageBufferSize) |
void | validateDeployment() |
public static final String TIMEOUT
public static final int DEFAULT_WEB_SOCKET_TIMEOUT_SECONDS
public ServerWebSocketContainer(ClassIntrospecter classIntrospecter, Supplier<org.xnio.XnioWorker> xnioWorker, ByteBufferPool bufferPool, List<ThreadSetupHandler> threadSetupHandlers, boolean dispatchToWorker, boolean clientMode)
public ServerWebSocketContainer(ClassIntrospecter classIntrospecter, ClassLoader classLoader, Supplier<org.xnio.XnioWorker> xnioWorker, ByteBufferPool bufferPool, List<ThreadSetupHandler> threadSetupHandlers, boolean dispatchToWorker)
public ServerWebSocketContainer(ClassIntrospecter classIntrospecter, ClassLoader classLoader, Supplier<org.xnio.XnioWorker> xnioWorker, ByteBufferPool bufferPool, List<ThreadSetupHandler> threadSetupHandlers, boolean dispatchToWorker, InetSocketAddress clientBindAddress, WebSocketReconnectHandler reconnectHandler)
public ServerWebSocketContainer(ClassIntrospecter classIntrospecter, ClassLoader classLoader, Supplier<org.xnio.XnioWorker> xnioWorker, ByteBufferPool bufferPool, List<ThreadSetupHandler> threadSetupHandlers, boolean dispatchToWorker, InetSocketAddress clientBindAddress, WebSocketReconnectHandler reconnectHandler, List<javax.websocket.Extension> installedExtensions)
public long getDefaultAsyncSendTimeout()
getDefaultAsyncSendTimeout in interface javax.websocket.WebSocketContainerpublic void setAsyncSendTimeout(long defaultAsyncSendTimeout)
setAsyncSendTimeout in interface javax.websocket.WebSocketContainerpublic javax.websocket.Session connectToServer(Object annotatedEndpointInstance, WebSocketClient.ConnectionBuilder connectionBuilder) throws javax.websocket.DeploymentException, IOException
javax.websocket.DeploymentExceptionIOExceptionpublic javax.websocket.Session connectToServer(Object annotatedEndpointInstance, URI path) throws javax.websocket.DeploymentException, IOException
connectToServer in interface javax.websocket.WebSocketContainerjavax.websocket.DeploymentExceptionIOExceptionpublic javax.websocket.Session connectToServer(Class<?> aClass, WebSocketClient.ConnectionBuilder connectionBuilder) throws javax.websocket.DeploymentException, IOException
javax.websocket.DeploymentExceptionIOExceptionpublic javax.websocket.Session connectToServer(Class<?> aClass, URI uri) throws javax.websocket.DeploymentException, IOException
connectToServer in interface javax.websocket.WebSocketContainerjavax.websocket.DeploymentExceptionIOExceptionpublic javax.websocket.Session connectToServer(javax.websocket.Endpoint endpointInstance,
javax.websocket.ClientEndpointConfig config,
URI path)
throws javax.websocket.DeploymentException,
IOException connectToServer in interface javax.websocket.WebSocketContainerjavax.websocket.DeploymentExceptionIOExceptionpublic javax.websocket.Session connectToServer(javax.websocket.Endpoint endpointInstance,
javax.websocket.ClientEndpointConfig config,
WebSocketClient.ConnectionBuilder connectionBuilder)
throws javax.websocket.DeploymentException,
IOException javax.websocket.DeploymentExceptionIOExceptionpublic javax.websocket.Session connectToServer(Class<? extends javax.websocket.Endpoint> endpointClass, javax.websocket.ClientEndpointConfig cec, URI path) throws javax.websocket.DeploymentException, IOException
connectToServer in interface javax.websocket.WebSocketContainerjavax.websocket.DeploymentExceptionIOExceptionpublic void doUpgrade(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
javax.websocket.server.ServerEndpointConfig sec,
Map<String,String> pathParams)
throws javax.servlet.ServletException,
IOException javax.servlet.ServletExceptionIOExceptionpublic long getDefaultMaxSessionIdleTimeout()
getDefaultMaxSessionIdleTimeout in interface javax.websocket.WebSocketContainerpublic void setDefaultMaxSessionIdleTimeout(long timeout)
setDefaultMaxSessionIdleTimeout in interface javax.websocket.WebSocketContainerpublic int getDefaultMaxBinaryMessageBufferSize()
getDefaultMaxBinaryMessageBufferSize in interface javax.websocket.WebSocketContainerpublic void setDefaultMaxBinaryMessageBufferSize(int defaultMaxBinaryMessageBufferSize)
setDefaultMaxBinaryMessageBufferSize in interface javax.websocket.WebSocketContainerpublic int getDefaultMaxTextMessageBufferSize()
getDefaultMaxTextMessageBufferSize in interface javax.websocket.WebSocketContainerpublic void setDefaultMaxTextMessageBufferSize(int defaultMaxTextMessageBufferSize)
setDefaultMaxTextMessageBufferSize in interface javax.websocket.WebSocketContainerpublic Set<javax.websocket.Extension> getInstalledExtensions()
getInstalledExtensions in interface javax.websocket.WebSocketContainerpublic void invokeEndpointMethod(Executor executor, Runnable invocation)
Unfortunately we need to dispatch to a thread pool, because there is a good chance that the endpoint will use blocking IO methods. We suspend recieves while this is in progress, to make sure that we do not have multiple methods invoked at once.
invocation - The task to runpublic void invokeEndpointMethod(Runnable invocation)
invocation - The invocationpublic void addEndpoint(Class<?> endpoint) throws javax.websocket.DeploymentException
addEndpoint in interface javax.websocket.server.ServerContainerjavax.websocket.DeploymentExceptionpublic void addEndpoint(javax.websocket.server.ServerEndpointConfig endpoint)
throws javax.websocket.DeploymentException addEndpoint in interface javax.websocket.server.ServerContainerjavax.websocket.DeploymentExceptionpublic void validateDeployment()
public void deploymentComplete()
public List<ConfiguredServerEndpoint> getConfiguredServerEndpoints()
public ServletContextImpl getContextToAddFilter()
public void setContextToAddFilter(ServletContextImpl contextToAddFilter)
public void close(int waitTime)
public void close()
close in interface Closeableclose in interface AutoCloseablepublic ByteBufferPool getBufferPool()
public org.xnio.XnioWorker getXnioWorker()
public void pause(ServerWebSocketContainer.PauseListener listener)
listener - public void resume()
public WebSocketReconnectHandler getWebSocketReconnectHandler()
public boolean isClosed()
public boolean isDispatchToWorker()
Copyright © 2020 JBoss by Red Hat. All rights reserved.