クラス StompSubProtocolHandler
java.lang.ObjectSE
org.springframework.web.socket.messaging.StompSubProtocolHandler
- 実装されているすべてのインターフェース:
Aware、ApplicationEventPublisherAware、SubProtocolHandler
public class StompSubProtocolHandler
extends ObjectSE
implements SubProtocolHandler, ApplicationEventPublisherAware
STOMP 仕様のバージョン 1.0, 1.1,, 1.2 をサポートする STOMP 用の
SubProtocolHandler。- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev, Andy Wilkinson
ネストされたクラスの要約
ネストされたクラスフィールドのサマリー
フィールド修飾子と型フィールド説明static final StringSEWebSocket セッションで認証されたユーザーの名前を示す、CONNECTED フレームに設定されたヘッダーの名前。static final intこのハンドラーは、複数の WebSocket メッセージに分割された大きな STOMP メッセージの組み立てをサポートし、STOMP クライアント(stomp.js など)は実際に 16K 境界で大きな STOMP メッセージを分割します。コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明voidafterSessionEnded(WebSocketSession session, CloseStatus closeStatus, MessageChannel outputChannel) WebSocketSessionが終了した後に呼び出されます。voidafterSessionStarted(WebSocketSession session, MessageChannel outputChannel) WebSocketSessionが開始した後に呼び出されます。設定されたエラーハンドラーを返します。設定済みのヘッダー初期化子を返します。int設定されたメッセージバッファサイズの制限をバイト単位で取得します。getStats()内部状態とカウンターを含む構造化オブジェクトを返します。内部状態とカウンタを記述する文字列を返します。このハンドラーでサポートされているサブプロトコルのリストを返します(非null)。voidhandleMessageFromClient(WebSocketSession session, WebSocketMessage<?> webSocketMessage, MessageChannel channel) クライアントからの受信 WebSocket メッセージを処理します。voidhandleMessageToClient(WebSocketSession session, Message<?> message) WebSocket クライアントに戻る STOMP メッセージを処理します。booleanハンドラーが受信メッセージを受信した順序で処理するように構成されているかどうか。resolveSessionId(Message<?> message) 指定されたメッセージからセッション ID を解決するか、nullを返します。voidsetApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) このオブジェクトが実行される ApplicationEventPublisher を設定します。voidsetDecoder(StompDecoder decoder) STOMP フレームをデコードするためにStompDecoderを構成します。voidsetEncoder(StompEncoder encoder) STOMP フレームのエンコード用にStompEncoderを構成します。voidsetErrorHandler(StompSubProtocolErrorHandler errorHandler) クライアントに送信されるエラーメッセージのハンドラーを構成します。これにより、エラーメッセージをカスタマイズしたり、送信されないようにすることができます。voidsetHeaderInitializer(MessageHeaderInitializer headerInitializer) MessageHeaderInitializerを構成して、デコードされた STOMP フレームから作成されたすべてのメッセージと、クライアントの受信チャネルに送信された他のメッセージのヘッダーに適用します。voidsetMessageSizeLimit(int messageSizeLimit) 受信 STOMP メッセージに許可される最大サイズを構成します。voidsetPreserveReceiveOrder(boolean preserveReceiveOrder) クライアントメッセージを受信した順序で処理する必要があるかどうか。protected StompHeaderAccessortoMutableAccessor(StompHeaderAccessor headerAccessor, Message<?> message) toString()
フィールドの詳細
MINIMUM_WEBSOCKET_MESSAGE_SIZE
public static final int MINIMUM_WEBSOCKET_MESSAGE_SIZEこのハンドラーは、複数の WebSocket メッセージに分割された大きな STOMP メッセージの組み立てをサポートし、STOMP クライアント(stomp.js など)は実際に 16K 境界で大きな STOMP メッセージを分割します。そのため、WebSocket サーバーの入力メッセージバッファーサイズは、少なくとも 16K に加えて、SockJS フレーミング用に少し余分に必要です。- 関連事項:
CONNECTED_USER_HEADER
WebSocket セッションで認証されたユーザーの名前を示す、CONNECTED フレームに設定されたヘッダーの名前。- 関連事項:
コンストラクターの詳細
StompSubProtocolHandler
public StompSubProtocolHandler()
メソッドの詳細
setErrorHandler
クライアントに送信されるエラーメッセージのハンドラーを構成します。これにより、エラーメッセージをカスタマイズしたり、送信されないようにすることができます。デフォルトでは、これは設定されていません。その場合、エラーを反映するメッセージヘッダーとともに ERROR フレームが送信されます。
- パラメーター:
errorHandler- エラーハンドラー
getErrorHandler
設定されたエラーハンドラーを返します。setMessageSizeLimit
public void setMessageSizeLimit(int messageSizeLimit) 受信 STOMP メッセージに許可される最大サイズを構成します。STOMP メッセージは複数の WebSocket メッセージで受信できるため、バッファリングが必要になる場合があり、許可される最大メッセージサイズを知る必要があります。デフォルトでは、このプロパティは 64K に設定されています。
- 導入:
- 4.0.3
getMessageSizeLimit
public int getMessageSizeLimit()設定されたメッセージバッファサイズの制限をバイト単位で取得します。- 導入:
- 4.0.3
setEncoder
STOMP フレームのエンコード用にStompEncoderを構成します。- 導入:
- 4.3.5
setDecoder
STOMP フレームをデコードするためにStompDecoderを構成します。- 導入:
- 4.3.5
setHeaderInitializer
MessageHeaderInitializerを構成して、デコードされた STOMP フレームから作成されたすべてのメッセージと、クライアントの受信チャネルに送信された他のメッセージのヘッダーに適用します。デフォルトでは、このプロパティは設定されていません。
getHeaderInitializer
設定済みのヘッダー初期化子を返します。setPreserveReceiveOrder
public void setPreserveReceiveOrder(boolean preserveReceiveOrder) クライアントメッセージを受信した順序で処理する必要があるかどうか。デフォルトでは、
"clientInboundChannel"に送信されたメッセージは同じ順序で処理されない可能性があります。これは、チャネルが ThreadPoolExecutor によってサポートされており、順序どおりに処理されることが保証されていないためです。このフラグが
trueに設定されている場合、同じセッション内のメッセージは、受信された順序を維持するために一度に 1 つずつ"clientInboundChannel"に送信されます。- パラメーター:
preserveReceiveOrder- 順番に公開するかどうか- 導入:
- 6.1
isPreserveReceiveOrder
public boolean isPreserveReceiveOrder()ハンドラーが受信メッセージを受信した順序で処理するように構成されているかどうか。- 導入:
- 6.1
getSupportedProtocols
インターフェースからコピーされた説明:SubProtocolHandlerこのハンドラーでサポートされているサブプロトコルのリストを返します(非null)。- 次で指定:
- インターフェース
SubProtocolHandlerのgetSupportedProtocols
setApplicationEventPublisher
インターフェースからコピーされた説明:ApplicationEventPublisherAwareこのオブジェクトが実行される ApplicationEventPublisher を設定します。通常の Bean プロパティの設定後、InitializingBean の afterPropertiesSet などの init コールバックやカスタム init メソッドの前に呼び出されます。ApplicationContextAware の setApplicationContext の前に呼び出されます。
- 次で指定:
- インターフェース
ApplicationEventPublisherAwareのsetApplicationEventPublisher - パラメーター:
applicationEventPublisher- このオブジェクトによって使用されるイベント発行元
getStatsInfo
内部状態とカウンタを説明する文字列を返します。事実上、getStats()上のtoString()。getStats
内部状態とカウンターを含む構造化オブジェクトを返します。- 導入:
- 5.2
handleMessageFromClient
public void handleMessageFromClient(WebSocketSession session, WebSocketMessage<?> webSocketMessage, MessageChannel channel) クライアントからの受信 WebSocket メッセージを処理します。- 次で指定:
- インターフェース
SubProtocolHandlerのhandleMessageFromClient - パラメーター:
session- クライアントセッションwebSocketMessage- クライアントメッセージchannel- メッセージを送信する出力チャネル
handleMessageToClient
WebSocket クライアントに戻る STOMP メッセージを処理します。- 次で指定:
- インターフェース
SubProtocolHandlerのhandleMessageToClient - パラメーター:
session- クライアントセッションmessage- クライアントメッセージ
toMutableAccessor
protected StompHeaderAccessor toMutableAccessor(StompHeaderAccessor headerAccessor, Message<?> message) resolveSessionId
インターフェースからコピーされた説明:SubProtocolHandler指定されたメッセージからセッション ID を解決するか、nullを返します。- 次で指定:
- インターフェース
SubProtocolHandlerのresolveSessionId - パラメーター:
message- セッション ID を解決するメッセージ
afterSessionStarted
インターフェースからコピーされた説明:SubProtocolHandlerWebSocketSessionが開始した後に呼び出されます。- 次で指定:
- インターフェース
SubProtocolHandlerのafterSessionStarted - パラメーター:
session- クライアントセッションoutputChannel- チャンネル
afterSessionEnded
public void afterSessionEnded(WebSocketSession session, CloseStatus closeStatus, MessageChannel outputChannel) インターフェースからコピーされた説明:SubProtocolHandlerWebSocketSessionが終了した後に呼び出されます。- 次で指定:
- インターフェース
SubProtocolHandlerのafterSessionEnded - パラメーター:
session- クライアントセッションcloseStatus- セッションが閉じられた理由outputChannel- チャンネル
toString