public class DefaultStompSession extends ObjectSE implements ConnectionHandlingStompSession
ConnectionHandlingStompSession
のデフォルト実装。StompSession.Receiptable, StompSession.Subscription
修飾子と型 | フィールドと説明 |
---|---|
static byte[] | EMPTY_PAYLOAD 空のペイロード。 |
コンストラクターと説明 |
---|
DefaultStompSession(StompSessionHandler sessionHandler, StompHeaders connectHeaders) 新しいセッションを作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
StompSession.Receiptable | acknowledge(StompHeaders headers, boolean consumed) |
StompSession.Receiptable | acknowledge(StringSE messageId, boolean consumed) メッセージが消費されたかどうかにかかわらず、それぞれ ACK または NACK フレームを生成する確認応答を送信します。 |
void | afterConnected(TcpConnection<byte[]> connection) 接続が正常に確立された後に呼び出されます。 |
void | afterConnectFailure(ThrowableSE ex) 接続に失敗したときに呼び出されます。 |
void | afterConnectionClosed() 接続が閉じた後に呼び出されます。 |
void | disconnect() DISCONNECT フレームを送信してセッションを切断します。 |
void | disconnect(StompHeaders headers) ヘッダー付きの StompSession.disconnect() の変種。 |
StompHeaderAccessor | getConnectHeaders() STOMPCONNECT フレームで送信されるヘッダーを返します。 |
MessageConverter | getMessageConverter() 設定された MessageConverter を返します。 |
long | getReceiptTimeLimit() レシートの有効期限が切れる前に、構成された制限時間を返します。 |
ListenableFuture<StompSession> | getSessionFuture() セッションが使用可能になったときに完了するフューチャーを返します。 |
StompSessionHandler | getSessionHandler() 設定されたセッションハンドラーを返します。 |
StringSE | getSessionId() セッションの ID を返します。 |
TaskScheduler | getTaskScheduler() 構成済みの TaskScheduler を受け取り、レシート追跡に使用します。 |
void | handleFailure(ThrowableSE ex) 接続の失敗を処理します。 |
void | handleMessage(Message<byte[]> message) リモートホストから受信したメッセージを処理します。 |
boolean | isAutoReceiptEnabled() 受信ヘッダーを自動的に追加するかどうか。 |
boolean | isConnected() セッションが接続されているかどうか。 |
StompSession.Receiptable | send(StompHeaders headers, ObjectSE payload) 宛先だけではなく、完全な StompHeaders を備えた StompSession.send(String, Object) のオーバーロードバージョン。 |
StompSession.Receiptable | send(StringSE destination, ObjectSE payload) MessageConverter を使用してペイロードを byte[] に変換し、指定された宛先にメッセージを送信します。 |
void | setAutoReceipt(boolean autoReceiptEnabled) 有効にすると、このセッションの今後の send および subscribe 操作に受信ヘッダーが自動的に追加され、サーバーが RECEIPT を返します。 |
void | setMessageConverter(MessageConverter messageConverter) オブジェクト型または予期されるオブジェクト型と "content-type" ヘッダーに基づいて、受信メッセージと発信メッセージのペイロードを byte[] との間で変換するために使用する MessageConverter を設定します。 |
void | setReceiptTimeLimit(long receiptTimeLimit) レシートが期限切れになるまでの時間をミリ秒単位で構成します。 |
void | setTaskScheduler(TaskScheduler taskScheduler) 領収書の追跡に使用する TaskScheduler を構成します。 |
StompSession.Subscription | subscribe(StompHeaders headers, StompFrameHandler handler) 宛先だけではなく、完全な StompHeaders を備えた StompSession.subscribe(String, StompFrameHandler) のオーバーロードバージョン。 |
StompSession.Subscription | subscribe(StringSE destination, StompFrameHandler handler) SUBSCRIBE フレームを送信して所定の宛先にサブスクライブし、指定された StompFrameHandler で受信メッセージを処理します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public DefaultStompSession(StompSessionHandler sessionHandler, StompHeaders connectHeaders)
sessionHandler
- セッションのアプリケーションハンドラー connectHeaders
- STOMP CONNECT フレームのヘッダー public StringSE getSessionId()
StompSession
StompSession
の getSessionId
StompTcpConnectionHandler<byte[]>
の getSessionId
public StompHeaderAccessor getConnectHeaders()
StompTcpConnectionHandler
StompTcpConnectionHandler<byte[]>
の getConnectHeaders
public StompSessionHandler getSessionHandler()
public ListenableFuture<StompSession> getSessionFuture()
ConnectionHandlingStompSession
ConnectionHandlingStompSession
の getSessionFuture
public void setMessageConverter(MessageConverter messageConverter)
byte[]
との間で変換するために使用する MessageConverter
を設定します。 デフォルトでは、SimpleMessageConverter
が構成されています。
messageConverter
- 使用するメッセージコンバーター public MessageConverter getMessageConverter()
MessageConverter
を返します。public void setTaskScheduler(@Nullable TaskScheduler taskScheduler)
@Nullable public TaskScheduler getTaskScheduler()
public void setReceiptTimeLimit(long receiptTimeLimit)
デフォルトでは 15,000 (15 秒に設定されています)。
public long getReceiptTimeLimit()
public void setAutoReceipt(boolean autoReceiptEnabled)
StompSession
send
および subscribe
操作に受信ヘッダーが自動的に追加され、サーバーが RECEIPT を返します。アプリケーションは、操作から返された Receiptable
を使用して、領収書を追跡できます。StompHeaders
を受け入れるオーバーロードされたメソッドを使用して、受信ヘッダーを手動で追加することもできます。
StompSession
の setAutoReceipt
public boolean isAutoReceiptEnabled()
public boolean isConnected()
StompSession
StompSession
の isConnected
public StompSession.Receiptable send(StringSE destination, ObjectSE payload)
StompSession
MessageConverter
を使用してペイロードを byte[]
に変換し、指定された宛先にメッセージを送信します。StompSession
の send
destination
- メッセージの送信先 payload
- メッセージペイロード public StompSession.Receiptable send(StompHeaders headers, ObjectSE payload)
StompSession
StompHeaders
を備えた StompSession.send(String, Object)
のオーバーロードバージョン。ヘッダーには宛先が含まれている必要があり、ブローカーがサブスクライバーに伝搬するための「コンテンツ型」やカスタムヘッダーなどの他のヘッダー、またはブローカー固有の非標準ヘッダーが含まれる場合もあります。StompSession
の send
headers
- メッセージヘッダー payload
- メッセージペイロード public StompSession.Subscription subscribe(StringSE destination, StompFrameHandler handler)
StompSession
StompFrameHandler
で受信メッセージを処理します。StompSession
の subscribe
destination
- 購読する宛先 handler
- 受信したメッセージのハンドラー public StompSession.Subscription subscribe(StompHeaders headers, StompFrameHandler handler)
StompSession
StompHeaders
を備えた StompSession.subscribe(String, StompFrameHandler)
のオーバーロードバージョン。StompSession
の subscribe
headers
- サブスクライブメッセージフレームのヘッダー handler
- 受信したメッセージのハンドラー public StompSession.Receiptable acknowledge(StringSE messageId, boolean consumed)
StompSession
注意 : サブスクライブするときにこれを使用するには、これを使用するために、ack
ヘッダーを "client" または "client-individual" に設定する必要があります。
StompSession
の acknowledge
messageId
- メッセージの IDconsumed
- メッセージが消費されたかどうか public StompSession.Receiptable acknowledge(StompHeaders headers, boolean consumed)
StompSession
StompSession
の acknowledge
headers
- ACK または NACK メッセージフレームのヘッダー consumed
- メッセージが消費されたかどうか public void disconnect()
StompSession
StompSession
の disconnect
public void disconnect(@Nullable StompHeaders headers)
StompSession
StompSession.disconnect()
の変種。StompSession
の disconnect
headers
- 切断メッセージフレームのヘッダー public void afterConnected(TcpConnection<byte[]> connection)
TcpConnectionHandler
TcpConnectionHandler<byte[]>
の afterConnected
connection
- 接続 public void afterConnectFailure(ThrowableSE ex)
TcpConnectionHandler
TcpConnectionHandler<byte[]>
の afterConnectFailure
ex
- 例外 public void handleMessage(Message<byte[]> message)
TcpConnectionHandler
TcpConnectionHandler<byte[]>
の handleMessage
message
- メッセージ public void handleFailure(ThrowableSE ex)
TcpConnectionHandler
TcpConnectionHandler<byte[]>
の handleFailure
ex
- 例外 public void afterConnectionClosed()
TcpConnectionHandler
TcpConnectionHandler<byte[]>
の afterConnectionClosed