Class ClientContainer
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.websocket.jsr356.ClientContainer
- All Implemented Interfaces:
javax.websocket.WebSocketContainer,org.eclipse.jetty.util.component.Container,org.eclipse.jetty.util.component.Destroyable,org.eclipse.jetty.util.component.Dumpable,org.eclipse.jetty.util.component.Dumpable.DumpableContainer,org.eclipse.jetty.util.component.LifeCycle,org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
@ManagedObject("JSR356 Client Container")
public class ClientContainer
extends org.eclipse.jetty.util.component.ContainerLifeCycle
implements javax.websocket.WebSocketContainer, org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
Container for Client use of the javax.websocket API.
This should be specific to a JVM if run in a standalone mode. or specific to a WebAppContext if running on the Jetty server.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListenerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
org.eclipse.jetty.util.component.Container.InheritedListener, org.eclipse.jetty.util.component.Container.ListenerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
org.eclipse.jetty.util.component.Dumpable.DumpableContainerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
org.eclipse.jetty.util.component.LifeCycle.Listener -
Field Summary
Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPINGFields inherited from interface org.eclipse.jetty.util.component.Dumpable
KEY -
Constructor Summary
ConstructorsModifierConstructorDescriptionThis is the entry point forContainerProvider.getWebSocketContainer()ClientContainer(org.eclipse.jetty.client.HttpClient httpClient) Create aWebSocketContainerusing the suppliedHttpClientfor environments where you want to configure SSL/TLS or Proxy behaviors.ClientContainer(WebSocketClient client) Build a ClientContainer with a specific WebSocketClient in mind.ClientContainer(org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope scope) This is the entry point for ServerContainer, via ServletContext.getAttribute(ServerContainer.class.getName())protectedClientContainer(org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope scope, org.eclipse.jetty.client.HttpClient httpClient) This is the entry point for ServerContainer, via ServletContext.getAttribute(ServerContainer.class.getName()) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSessionListener(org.eclipse.jetty.websocket.common.WebSocketSessionListener listener) javax.websocket.SessionconnectToServer(Class<?> annotatedEndpointClass, URI path) javax.websocket.SessionconnectToServer(Class<? extends javax.websocket.Endpoint> endpointClass, javax.websocket.ClientEndpointConfig config, URI path) javax.websocket.SessionconnectToServer(Object endpoint, URI path) javax.websocket.SessionconnectToServer(javax.websocket.Endpoint endpoint, javax.websocket.ClientEndpointConfig config, URI path) protected voiddoStart()protected voiddoStop()org.eclipse.jetty.io.ByteBufferPoolgetClientEndpointMetadata(Class<?> endpoint, javax.websocket.EndpointConfig config) longintlongintSet<javax.websocket.Extension>org.eclipse.jetty.util.DecoratedObjectFactorySet<javax.websocket.Session>Used inSession.getOpenSessions()org.eclipse.jetty.websocket.api.WebSocketPolicyCollection<org.eclipse.jetty.websocket.common.WebSocketSessionListener>org.eclipse.jetty.util.ssl.SslContextFactorynewClientEndpointInstance(Object endpoint, javax.websocket.ClientEndpointConfig config) voidremoveSessionListener(org.eclipse.jetty.websocket.common.WebSocketSessionListener listener) voidsetAsyncSendTimeout(long ms) voidsetDefaultMaxBinaryMessageBufferSize(int max) voidsetDefaultMaxSessionIdleTimeout(long ms) voidsetDefaultMaxTextMessageBufferSize(int max) Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeansMethods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.jetty.util.component.Dumpable
dumpSelfMethods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpableMethods inherited from interface org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
isRunning
-
Constructor Details
-
ClientContainer
public ClientContainer()This is the entry point forContainerProvider.getWebSocketContainer() -
ClientContainer
public ClientContainer(org.eclipse.jetty.client.HttpClient httpClient) Create aWebSocketContainerusing the suppliedHttpClientfor environments where you want to configure SSL/TLS or Proxy behaviors.- Parameters:
httpClient- the HttpClient instance to use
-
ClientContainer
public ClientContainer(org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope scope) This is the entry point for ServerContainer, via ServletContext.getAttribute(ServerContainer.class.getName())- Parameters:
scope- the scope of the ServerContainer
-
ClientContainer
protected ClientContainer(org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope scope, org.eclipse.jetty.client.HttpClient httpClient) This is the entry point for ServerContainer, via ServletContext.getAttribute(ServerContainer.class.getName())- Parameters:
scope- the scope of the ServerContainerhttpClient- the HttpClient instance to use
-
ClientContainer
Build a ClientContainer with a specific WebSocketClient in mind.- Parameters:
client- the WebSocketClient to use.
-
-
Method Details
-
connectToServer
public javax.websocket.Session connectToServer(Class<? extends javax.websocket.Endpoint> endpointClass, javax.websocket.ClientEndpointConfig config, URI path) throws javax.websocket.DeploymentException, IOException - Specified by:
connectToServerin interfacejavax.websocket.WebSocketContainer- Throws:
javax.websocket.DeploymentExceptionIOException
-
connectToServer
public javax.websocket.Session connectToServer(Class<?> annotatedEndpointClass, URI path) throws javax.websocket.DeploymentException, IOException - Specified by:
connectToServerin interfacejavax.websocket.WebSocketContainer- Throws:
javax.websocket.DeploymentExceptionIOException
-
connectToServer
public javax.websocket.Session connectToServer(javax.websocket.Endpoint endpoint, javax.websocket.ClientEndpointConfig config, URI path) throws javax.websocket.DeploymentException, IOException - Specified by:
connectToServerin interfacejavax.websocket.WebSocketContainer- Throws:
javax.websocket.DeploymentExceptionIOException
-
connectToServer
public javax.websocket.Session connectToServer(Object endpoint, URI path) throws javax.websocket.DeploymentException, IOException - Specified by:
connectToServerin interfacejavax.websocket.WebSocketContainer- Throws:
javax.websocket.DeploymentExceptionIOException
-
doStart
- Overrides:
doStartin classorg.eclipse.jetty.util.component.ContainerLifeCycle- Throws:
Exception
-
doStop
- Overrides:
doStopin classorg.eclipse.jetty.util.component.ContainerLifeCycle- Throws:
Exception
-
getBufferPool
public org.eclipse.jetty.io.ByteBufferPool getBufferPool()- Specified by:
getBufferPoolin interfaceorg.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
-
getClient
-
getClassLoader
- Specified by:
getClassLoaderin interfaceorg.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
-
getClientEndpointMetadata
public EndpointMetadata getClientEndpointMetadata(Class<?> endpoint, javax.websocket.EndpointConfig config) -
getDecoderFactory
-
getDefaultAsyncSendTimeout
public long getDefaultAsyncSendTimeout()- Specified by:
getDefaultAsyncSendTimeoutin interfacejavax.websocket.WebSocketContainer
-
getDefaultMaxBinaryMessageBufferSize
public int getDefaultMaxBinaryMessageBufferSize()- Specified by:
getDefaultMaxBinaryMessageBufferSizein interfacejavax.websocket.WebSocketContainer
-
getDefaultMaxSessionIdleTimeout
public long getDefaultMaxSessionIdleTimeout()- Specified by:
getDefaultMaxSessionIdleTimeoutin interfacejavax.websocket.WebSocketContainer
-
getDefaultMaxTextMessageBufferSize
public int getDefaultMaxTextMessageBufferSize()- Specified by:
getDefaultMaxTextMessageBufferSizein interfacejavax.websocket.WebSocketContainer
-
getEncoderFactory
-
getExecutor
- Specified by:
getExecutorin interfaceorg.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
-
getInstalledExtensions
- Specified by:
getInstalledExtensionsin interfacejavax.websocket.WebSocketContainer
-
getObjectFactory
public org.eclipse.jetty.util.DecoratedObjectFactory getObjectFactory()- Specified by:
getObjectFactoryin interfaceorg.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
-
getOpenSessions
Used inSession.getOpenSessions()- Returns:
- the set of open sessions
-
getPolicy
public org.eclipse.jetty.websocket.api.WebSocketPolicy getPolicy()- Specified by:
getPolicyin interfaceorg.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
-
getSslContextFactory
public org.eclipse.jetty.util.ssl.SslContextFactory getSslContextFactory()- Specified by:
getSslContextFactoryin interfaceorg.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
-
addSessionListener
public void addSessionListener(org.eclipse.jetty.websocket.common.WebSocketSessionListener listener) - Specified by:
addSessionListenerin interfaceorg.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
-
removeSessionListener
public void removeSessionListener(org.eclipse.jetty.websocket.common.WebSocketSessionListener listener) - Specified by:
removeSessionListenerin interfaceorg.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
-
getSessionListeners
public Collection<org.eclipse.jetty.websocket.common.WebSocketSessionListener> getSessionListeners()- Specified by:
getSessionListenersin interfaceorg.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
-
newClientEndpointInstance
public EndpointInstance newClientEndpointInstance(Object endpoint, javax.websocket.ClientEndpointConfig config) -
setAsyncSendTimeout
public void setAsyncSendTimeout(long ms) - Specified by:
setAsyncSendTimeoutin interfacejavax.websocket.WebSocketContainer
-
setDefaultMaxBinaryMessageBufferSize
public void setDefaultMaxBinaryMessageBufferSize(int max) - Specified by:
setDefaultMaxBinaryMessageBufferSizein interfacejavax.websocket.WebSocketContainer
-
setDefaultMaxSessionIdleTimeout
public void setDefaultMaxSessionIdleTimeout(long ms) - Specified by:
setDefaultMaxSessionIdleTimeoutin interfacejavax.websocket.WebSocketContainer
-
setDefaultMaxTextMessageBufferSize
public void setDefaultMaxTextMessageBufferSize(int max) - Specified by:
setDefaultMaxTextMessageBufferSizein interfacejavax.websocket.WebSocketContainer
-