public class WebSocketHttpRequestHandler extends ObjectSE implements HttpRequestHandler, Lifecycle, ServletContextAware
HttpRequestHandler
。 これは、特定の URL でサーバー WebSocket を構成するときに使用するメインクラスです。これは、WebSocketHandler
および HandshakeHandler
の非常に薄いラッパーで、HttpServletRequest
EE および HttpServletResponse
EE をそれぞれ ServerHttpRequest
および ServerHttpResponse
に適合させます。
コンストラクターと説明 |
---|
WebSocketHttpRequestHandler(WebSocketHandler wsHandler) |
WebSocketHttpRequestHandler(WebSocketHandler wsHandler, HandshakeHandler handshakeHandler) |
修飾子と型 | メソッドと説明 |
---|---|
protected WebSocketHandler | decorate(WebSocketHandler handler) コンストラクターに渡された WebSocketHandler を装飾します。 |
HandshakeHandler | getHandshakeHandler() HandshakeHandler を返します。 |
ListSE<HandshakeInterceptor> | getHandshakeInterceptors() 構成された WebSocket ハンドシェイクリクエストインターセプターを返します。 |
WebSocketHandler | getWebSocketHandler() WebSocketHandler を返します。 |
void | handleRequest(HttpServletRequestEE servletRequest, HttpServletResponseEE servletResponse) 指定されたリクエストを処理し、レスポンスを生成します。 |
boolean | isRunning() このコンポーネントが現在実行されているかどうかを確認します。 |
void | setHandshakeInterceptors(ListSE<HandshakeInterceptor> interceptors) 1 つ以上の WebSocket ハンドシェイクリクエストインターセプターを構成します。 |
void | setServletContext(ServletContextEE servletContext) このオブジェクトが実行される ServletContext EE を設定します。 |
void | start() このコンポーネントを起動します。 |
void | stop() このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public WebSocketHttpRequestHandler(WebSocketHandler wsHandler)
public WebSocketHttpRequestHandler(WebSocketHandler wsHandler, HandshakeHandler handshakeHandler)
protected WebSocketHandler decorate(WebSocketHandler handler)
WebSocketHandler
を装飾します。 デフォルトでは、LoggingWebSocketHandlerDecorator
および ExceptionWebSocketHandlerDecorator
が追加されます。
public WebSocketHandler getWebSocketHandler()
public HandshakeHandler getHandshakeHandler()
public void setHandshakeInterceptors(@Nullable ListSE<HandshakeInterceptor> interceptors)
public ListSE<HandshakeInterceptor> getHandshakeInterceptors()
public void setServletContext(ServletContextEE servletContext)
ServletContextAware
ServletContext
EE を設定します。 通常の Bean プロパティの設定後、InitializingBean の afterPropertiesSet
またはカスタム init メソッドのような初期コールバックの前に呼び出されます。ApplicationContextAware の setApplicationContext
の後に呼び出されます。
ServletContextAware
の setServletContext
servletContext
- このオブジェクトによって使用される ServletContext オブジェクト InitializingBean.afterPropertiesSet()
, ApplicationContextAware.setApplicationContext(org.springframework.context.ApplicationContext)
public void start()
Lifecycle
コンポーネントがすでに実行されている場合は、例外をスローしないでください。
コンテナーの場合、これは適用されるすべてのコンポーネントに開始シグナルを伝播します。
Lifecycle
の start
SmartLifecycle.isAutoStartup()
public void stop()
Lifecycle
SmartLifecycle
とその stop(Runnable)
バリアントの実装を検討してください。 この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、Lifecycle
Bean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止シグナルを事前に考慮することなく呼び出されます。
コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。
コンテナーの場合、これは停止シグナルを適用するすべてのコンポーネントに伝播します。
Lifecycle
の stop
SmartLifecycle.stop(Runnable)
, DisposableBean.destroy()
public boolean isRunning()
Lifecycle
コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、true
を返します。
public void handleRequest(HttpServletRequestEE servletRequest, HttpServletResponseEE servletResponse) throws ServletExceptionEE, IOExceptionSE
HttpRequestHandler
HttpRequestHandler
の handleRequest
servletRequest
- 現在の HTTP リクエスト servletResponse
- 現在の HTTP レスポンス ServletExceptionEE
- 一般的なエラーの場合 IOExceptionSE
- I/O エラーの場合