public class WebSocketHandlerMapping extends SimpleUrlHandlerMapping implements SmartLifecycle
WebSocketHttpRequestHandler
のハンドラーへの WebSocket ハンドシェイクリクエストのより正確なマッピングをサポートする SimpleUrlHandlerMapping
の拡張。また、Lifecycle
メソッドをそれを実装する SimpleUrlHandlerMapping.getUrlMap()
のハンドラーに委譲します。mappingsLogger
logger
DEFAULT_PHASE
BEST_MATCHING_HANDLER_ATTRIBUTE, BEST_MATCHING_PATTERN_ATTRIBUTE, INTROSPECT_TYPE_LEVEL_MAPPING, LOOKUP_PATH, MATRIX_VARIABLES_ATTRIBUTE, PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, URI_TEMPLATE_VARIABLES_ATTRIBUTE
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターと説明 |
---|
WebSocketHandlerMapping() |
修飾子と型 | メソッドと説明 |
---|---|
protected ObjectSE | getHandlerInternal(HttpServletRequestEE request) 指定されたリクエストの URL パスのハンドラーを検索します。 |
protected void | initServletContext(ServletContextEE servletContext) サブクラスは、このアプリケーションオブジェクトが実行される ServletContext に基づいて、カスタム初期化のためにこれをオーバーライドできます。 |
boolean | isRunning() このコンポーネントが現在実行されているかどうかを確認します。 |
void | setWebSocketUpgradeMatch(boolean match) これが設定されている場合、一致するハンドラーが WebSocketHttpRequestHandler の場合は、リクエストが WebSocket ハンドシェイクであることを確認してください。 |
void | start() このコンポーネントを起動します。 |
void | stop() このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。 |
getUrlMap, initApplicationContext, registerHandlers, setMappings, setUrlMap
buildPathExposingHandler, exposePathWithinMapping, exposeUriTemplateVariables, getHandlerMap, getPathPatternHandlerMap, getRootHandler, lookupHandler, lookupHandler, match, registerHandler, registerHandler, setLazyInitHandlers, setPatternParser, setRootHandler, setUseTrailingSlashMatch, supportsTypeLevelMappings, useTrailingSlashMatch, validateHandler
adaptInterceptor, detectMappedInterceptors, extendInterceptors, formatMappingName, getAdaptedInterceptors, getCorsConfiguration, getCorsConfigurationSource, getCorsHandlerExecutionChain, getCorsProcessor, getDefaultHandler, getHandler, getHandlerExecutionChain, getMappedInterceptors, getOrder, getPathMatcher, getPatternParser, getUrlPathHelper, hasCorsConfigurationSource, initInterceptors, initLookupPath, setAlwaysUseFullPath, setBeanName, setCorsConfigurations, setCorsConfigurationSource, setCorsProcessor, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setRemoveSemicolonContent, setUrlDecode, setUrlPathHelper, usesPathPatterns
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, isContextRequired, setServletContext
getApplicationContext, getMessageSourceAccessor, obtainApplicationContext, requiredContextClass, setApplicationContext
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
getPhase, isAutoStartup, stop
getPatternParser
getHandler, usesPathPatterns
public void setWebSocketUpgradeMatch(boolean match)
WebSocketHttpRequestHandler
の場合、リクエストが WebSocket ハンドシェイクであることを確認します。つまり、ヘッダー "Upgrade:websocket"
を使用した HTTP GET を使用するか、一致を抑制して null
を返し、別の HandlerMapping
が同じ URL パスに一致するようにします。match
- "Upgrade: websocket"
でマッチングを有効にするかどうか protected void initServletContext(ServletContextEE servletContext)
WebApplicationObjectSupport
デフォルトの実装は空です。WebApplicationObjectSupport.initApplicationContext(org.springframework.context.ApplicationContext)
および WebApplicationObjectSupport.setServletContext(javax.servlet.ServletContext)
によって呼び出されます。
WebApplicationObjectSupport
の initServletContext
servletContext
- このアプリケーションオブジェクトが実行される ServletContext (非 null
)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
を返します。
@Nullable protected ObjectSE getHandlerInternal(HttpServletRequestEE request) throws ExceptionSE
AbstractUrlHandlerMapping
AbstractUrlHandlerMapping
の getHandlerInternal
request
- 現在の HTTP リクエスト null
ExceptionSE
- 内部エラーがある場合