クラス StompClientSupport
- 既知の直属サブクラス
ReactorNettyTcpStompClient
,WebSocketStompClient
サブクラスは、任意のライブラリを使用して WebSocket または TCP 経由で接続できます。新しい接続を作成するとき、サブクラスは TcpConnectionHandler
を実装する DefaultStompSession
のインスタンスを作成できます。このインスタンスのライフサイクルメソッドは、サブクラスが呼び出す必要があります。
実際、TcpConnectionHandler
と TcpConnection
は、StompEncoder
と StompDecoder
を使用して STOMP メッセージをエンコードおよびデコードするときに、サブクラスが適応しなければならない契約です。
- 導入:
- 4.2
- 作成者:
- Rossen Stoyanchev
コンストラクターのサマリー
コンストラクター方法の概要
修飾子と型メソッド説明protected ConnectionHandlingStompSession
createSession
(StompHeaders connectHeaders, StompSessionHandler handler) 新しいセッションを作成および構成するためのファクトリメソッド。long[]
構成されたデフォルトのハートビート値を返します(null
は決してしないでください)。設定されたMessageConverter
を返します。long
設定された受領期限を返します。構成された TaskScheduler。boolean
ハートビートが有効になっているかどうかを確認します。protected StompHeaders
processConnectHeaders
(StompHeaders connectHeaders) StompHeaders をさらに初期化します。たとえば、必要に応じてハートビートヘッダーを設定します。void
setDefaultHeartbeat
(long[] heartbeat) STOMP CONNECT フレームの「ハートビート」ヘッダーのデフォルト値を設定します。void
setMessageConverter
(MessageConverter messageConverter) オブジェクト型と「コンテンツ型」ヘッダーに基づいて、受信メッセージと発信メッセージのペイロードをbyte[]
との間で変換するために使用するMessageConverter
を設定します。void
setReceiptTimeLimit
(long receiptTimeLimit) レシートが期限切れと見なされるまでのミリ秒数を設定します。void
setTaskScheduler
(TaskScheduler taskScheduler) ハートビートと受信追跡に使用するスケジューラを構成します。
コンストラクターの詳細
StompClientSupport
public StompClientSupport()
メソッドの詳細
setMessageConverter
オブジェクト型と「コンテンツ型」ヘッダーに基づいて、受信メッセージと発信メッセージのペイロードをbyte[]
との間で変換するために使用するMessageConverter
を設定します。デフォルトでは、
SimpleMessageConverter
が構成されています。- パラメーター:
messageConverter
- 使用するメッセージコンバーター
getMessageConverter
設定されたMessageConverter
を返します。setTaskScheduler
ハートビートと受信追跡に使用するスケジューラを構成します。注意 : 一部のトランスポートには、ハートビートを処理するためのサポートが組み込まれているため、TaskScheduler は必要ありません。ただし、領収書は必要に応じて、TaskScheduler を構成する必要があります。
デフォルトでは、これは設定されていません。
getTaskScheduler
構成された TaskScheduler。setDefaultHeartbeat
public void setDefaultHeartbeat(long[] heartbeat) STOMP CONNECT フレームの「ハートビート」ヘッダーのデフォルト値を設定します。最初の数値は、クライアントがハートビートを書き込んだり送信したりする頻度を表します。2 番目は、サーバーが書き込む頻度です。値 0 はハートビートがないことを意味します。デフォルトでは、これは "10000,10000" に設定されていますが、サブクラスはそのデフォルトをオーバーライドでき、たとえば、TaskScheduler を最初に構成する必要がある場合は、"0,0" に設定できます。
注意 : ハートビートは、非アクティブの場合、つまり他のメッセージが送信されない場合にのみ送信されます。ブローカー以外の宛先を持つメッセージはアクティビティを表しますが、実際にはブローカーに転送されないため、これは外部ブローカーを使用するときに問題を引き起こす可能性があります。その場合、
StompBrokerRelayRegistration
を介して `TaskScheduler` を構成できます。これにより、ブローカー以外の宛先のメッセージのみが送信された場合にも、ハートビートがブローカーに転送されます。- パラメーター:
heartbeat
- CONNECT「ハートビート」ヘッダーの値- 関連事項:
getDefaultHeartbeat
public long[] getDefaultHeartbeat()構成されたデフォルトのハートビート値を返します(null
は決してしないでください)。isDefaultHeartbeatEnabled
public boolean isDefaultHeartbeatEnabled()ハートビートが有効になっているかどうかを確認します。defaultHeartbeat
が "0,0" に設定されている場合はfalse
を返し、それ以外の場合はtrue
を返します。setReceiptTimeLimit
public void setReceiptTimeLimit(long receiptTimeLimit) レシートが期限切れと見なされるまでのミリ秒数を設定します。デフォルトでは 15,000 (15 秒に設定されています)。
getReceiptTimeLimit
public long getReceiptTimeLimit()設定された受領期限を返します。createSession
protected ConnectionHandlingStompSession createSession(@Nullable StompHeaders connectHeaders, StompSessionHandler handler) 新しいセッションを作成および構成するためのファクトリメソッド。- パラメーター:
connectHeaders
- STOMP CONNECT フレームのヘッダーhandler
- STOMP セッションのハンドラー- 戻り値:
- 作成されたセッション
processConnectHeaders
StompHeaders をさらに初期化します。たとえば、必要に応じてハートビートヘッダーを設定します。- パラメーター:
connectHeaders
- 変更するヘッダー- 戻り値:
- 変更されたヘッダー