クラス AbstractSockJsSession
java.lang.ObjectSE
org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession
- 実装されているすべてのインターフェース:
CloseableSE, AutoCloseableSE, SockJsSession, WebSocketSession
SockJsSession を実装する SockJS セッションの抽象基本クラス。- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev, Sam Brannen
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターコンストラクター説明AbstractSockJsSession(StringSE id, SockJsServiceConfig config, WebSocketHandler handler, @Nullable MapSE<StringSE, ObjectSE> attributes) 新しいインスタンスを作成します。方法の概要
修飾子と型メソッド説明protected voidfinal voidclose()クリーンアップを実行し、WebSocketHandlerに通知します。final voidclose(CloseStatus status) クリーンアップを実行し、WebSocketHandlerに通知します。final voiddelegateConnectionClosed(CloseStatus status) 基本となる接続が閉じられたときに呼び出されます。voidvoidvoiddelegateMessages(StringSE... messages) voidSockJS ハートビートを無効にします。これは、おそらく上位レベルのプロトコルですでにセッションに対してハートビートが有効になっているためです。protected abstract voiddisconnect(CloseStatus status) 実際に基になる WebSocket セッションを閉じるか、HTTP トランスポートの場合は基になるリクエストを完了します。WebSocket セッションに関連付けられた属性を持つマップを返します。getId()一意のセッション識別子を返します。protected SockJsMessageCodeclongセッションが最後にアクティブになってからの時間(ミリ秒単位)を返します。セッションが新しい場合は、セッションが作成されてからの時間を返します。abstract booleanisActive()ポーリングセッションとストリーミングセッションは、定期的に現在の HTTP リクエストを閉じ、次のリクエストが送信されるのを待ちます。booleanisClosed()booleanisNew()booleanisOpen()基になる接続が開いているかどうか。protected voidprotected voidfinal voidsendMessage(WebSocketMessage<?> message) WebSocket メッセージを送信する:TextMessageまたはBinaryMessageのいずれか。protected abstract voidsendMessageInternal(StringSE message) toString()voidtryCloseWithSockJsTransportError(ThrowableSE error, CloseStatus closeStatus) SockJS トランスポートの処理に起因するエラーのため、終了します。protected voidセッションが非アクティブになるたびに呼び出されます。protected voidwriteFrame(SockJsFrame frame) TransportHandler および(TransportHandler 固有の)セッションクラス内で内部的に使用します。protected abstract voidwriteFrameInternal(SockJsFrame frame)
フィールドの詳細
DISCONNECTED_CLIENT_LOG_CATEGORY
クライアントが離れた後のネットワーク障害に使用するログカテゴリ。- 関連事項:
logger
protected final org.apache.commons.logging.Log loggerresponseLock
コンストラクターの詳細
AbstractSockJsSession
public AbstractSockJsSession(StringSE id, SockJsServiceConfig config, WebSocketHandler handler, @Nullable MapSE<StringSE, ObjectSE> attributes) 新しいインスタンスを作成します。- パラメーター:
id- セッション IDconfig- SockJS サービス構成オプションhandler- SockJS メッセージの受信者attributes- WebSocket セッションに関連付ける HTTP ハンドシェイクの属性。提供された属性がコピーされ、元のマップは使用されません。
メソッドの詳細
getId
getMessageCodec
getSockJsServiceConfig
getAttributes
インターフェースからコピーされた説明:WebSocketSessionWebSocket セッションに関連付けられた属性を持つマップを返します。サーバー側では、最初に
HandshakeInterceptorを介してマップにデータを入力できます。クライアント側では、WebSocketClientハンドシェイクメソッドを介してマップにデータを入力できます。- 次で指定:
- インターフェース
WebSocketSessionのgetAttributes - 戻り値:
- セッション属性を持つマップ (非
null)
sendMessage
インターフェースからコピーされた説明:WebSocketSessionWebSocket メッセージを送信する:TextMessageまたはBinaryMessageのいずれか。注意 : 基盤となる標準の WebSocket セッション(JSR-356)では、同時送信は許可されていません。送信を同期する必要があります。これを確実にするための 1 つのオプションは、
WebSocketSessionをConcurrentWebSocketSessionDecoratorでラップすることです。- 次で指定:
- インターフェース
WebSocketSessionのsendMessage - 例外:
IOExceptionSE- 関連事項:
sendMessageInternal
isNew
public boolean isNew()isOpen
public boolean isOpen()インターフェースからコピーされた説明:WebSocketSession基になる接続が開いているかどうか。- 次で指定:
- インターフェース
WebSocketSessionのisOpen
isClosed
public boolean isClosed()close
クリーンアップを実行し、WebSocketHandlerに通知します。- 次で指定:
- インターフェース
AutoCloseableSEのclose - 次で指定:
- インターフェース
CloseableSEのclose - 次で指定:
- インターフェース
WebSocketSessionのclose - 例外:
IOExceptionSE
close
クリーンアップを実行し、WebSocketHandlerに通知します。- 次で指定:
- インターフェース
WebSocketSessionのclose - 例外:
IOExceptionSE
getTimeSinceLastActive
public long getTimeSinceLastActive()インターフェースからコピーされた説明:SockJsSessionセッションが最後にアクティブになってからの時間(ミリ秒単位)を返します。セッションが新しい場合は、セッションが作成されてからの時間を返します。- 次で指定:
- インターフェース
SockJsSessionのgetTimeSinceLastActive
updateLastActiveTime
protected void updateLastActiveTime()セッションが非アクティブになるたびに呼び出されます。disableHeartbeat
public void disableHeartbeat()インターフェースからコピーされた説明:SockJsSessionSockJS ハートビートを無効にします。これは、おそらく上位レベルのプロトコルですでにセッションに対してハートビートが有効になっているためです。プロキシが接続がハングしていないことを知るのに役立つため、これを無効にすることはお勧めしません。- 次で指定:
- インターフェース
SockJsSessionのdisableHeartbeat
sendHeartbeat
scheduleHeartbeat
protected void scheduleHeartbeat()cancelHeartbeat
protected void cancelHeartbeat()isActive
public abstract boolean isActive()ポーリングセッションとストリーミングセッションは、定期的に現在の HTTP リクエストを閉じ、次のリクエストが送信されるのを待ちます。この「ダウンタイム」の間、セッションはまだ開いていますが、非アクティブであり、メッセージを送信できないため、メッセージを一時的にバッファする必要があります。対照的に、WebSocket セッションはステートフルであり、閉じられるまでアクティブのままです。disconnect
実際に基になる WebSocket セッションを閉じるか、HTTP トランスポートの場合は基になるリクエストを完了します。writeFrame
TransportHandler および(TransportHandler 固有の)セッションクラス内で内部的に使用します。writeFrameInternal
delegateConnectionEstablished
- 例外:
ExceptionSE
delegateMessages
delegateConnectionClosed
基本となる接続が閉じられたときに呼び出されます。- 例外:
ExceptionSE
tryCloseWithSockJsTransportError
SockJS トランスポートの処理に起因するエラーのため、終了します。delegateError
- 例外:
ExceptionSE
toString