public class DefaultStompSession extends ObjectSE implements ConnectionHandlingStompSession
ConnectionHandlingStompSession のデフォルト実装。StompSession.Receiptable, StompSession.Subscription| 修飾子と型 | フィールドと説明 |
|---|---|
static byte[] | EMPTY_PAYLOAD |
| コンストラクターと説明 |
|---|
DefaultStompSession(StompSessionHandler sessionHandler, StompHeaders connectHeaders) 新しいセッションを作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
StompSession.Receiptable | acknowledge(StringSE messageId, boolean consumed) メッセージが消費されたかどうかにかかわらず、それぞれ ACK または NACK フレームを生成する確認応答を送信します。 |
void | afterConnected(TcpConnection<byte[]> connection) 接続が正常に確立された後に呼び出されます。 |
void | afterConnectFailure(ThrowableSE ex) 接続に失敗したときに呼び出されます。 |
void | afterConnectionClosed() 接続が閉じた後に呼び出されます。 |
void | disconnect()DISCONNECT フレームを送信してセッションを切断します。 |
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 stompHeaders, 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 stompHeaders, 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, waitSEpublic DefaultStompSession(StompSessionHandler sessionHandler, StompHeaders connectHeaders)
sessionHandler - セッションのアプリケーションハンドラー connectHeaders - STOMP CONNECT フレームのヘッダー public StringSE getSessionId()
StompSessionStompSession の getSessionId public StompSessionHandler getSessionHandler()
public ListenableFuture<StompSession> getSessionFuture()
ConnectionHandlingStompSessionConnectionHandlingStompSession の getSessionFuture public void setMessageConverter(MessageConverter messageConverter)
byte[] との間で変換するために使用する MessageConverter を設定します。 デフォルトでは、SimpleMessageConverter が構成されています。
messageConverter - 使用するメッセージコンバーター public MessageConverter getMessageConverter()
MessageConverter を返します。public void setTaskScheduler(TaskScheduler taskScheduler)
public TaskScheduler getTaskScheduler()
public void setReceiptTimeLimit(long receiptTimeLimit)
デフォルトでは 15,000 (15 秒に設定されています)。
public long getReceiptTimeLimit()
public void setAutoReceipt(boolean autoReceiptEnabled)
StompSessionsend および subscribe 操作に受信ヘッダーが自動的に追加され、サーバーが RECEIPT を返します。アプリケーションは、操作から返された Receiptable を使用して、領収書を追跡できます。StompHeaders を受け入れるオーバーロードされたメソッドを使用して、受信ヘッダーを手動で追加することもできます。
StompSession の setAutoReceipt public boolean isAutoReceiptEnabled()
public boolean isConnected()
StompSessionStompSession の isConnected public StompSession.Receiptable send(StringSE destination, ObjectSE payload)
StompSessionMessageConverter を使用してペイロードを byte[] に変換し、指定された宛先にメッセージを送信します。StompSession の send destination - メッセージの送信先 payload - メッセージペイロード public StompSession.Receiptable send(StompHeaders stompHeaders, ObjectSE payload)
StompSessionStompHeaders を備えた StompSession.send(String, Object) のオーバーロードバージョン。ヘッダーには宛先が含まれている必要があり、ブローカーがサブスクライバーに伝搬するための「コンテンツ型」やカスタムヘッダーなどの他のヘッダー、またはブローカー固有の非標準ヘッダーが含まれる場合もあります。StompSession の send stompHeaders - メッセージヘッダー payload - メッセージペイロード public StompSession.Subscription subscribe(StringSE destination, StompFrameHandler handler)
StompSessionStompFrameHandler で受信メッセージを処理します。StompSession の subscribe destination - 購読する宛先 handler - 受信したメッセージのハンドラー public StompSession.Subscription subscribe(StompHeaders stompHeaders, StompFrameHandler handler)
StompSessionStompHeaders を備えた StompSession.subscribe(String, StompFrameHandler) のオーバーロードバージョン。StompSession の subscribe stompHeaders - サブスクライブメッセージフレームのヘッダー handler - 受信したメッセージのハンドラー public StompSession.Receiptable acknowledge(StringSE messageId, boolean consumed)
StompSession 注意 : サブスクライブするときにこれを使用するには、これを使用するために、ack ヘッダーを "client" または "client-individual" に設定する必要があります。
StompSession の acknowledge messageId - メッセージの IDconsumed - メッセージが消費されたかどうか public void disconnect()
StompSessionStompSession の disconnect public void afterConnected(TcpConnection<byte[]> connection)
TcpConnectionHandlerTcpConnectionHandler<byte[]> の afterConnected connection - 接続 public void afterConnectFailure(ThrowableSE ex)
TcpConnectionHandlerTcpConnectionHandler<byte[]> の afterConnectFailure ex - 例外 public void handleMessage(Message<byte[]> message)
TcpConnectionHandlerTcpConnectionHandler<byte[]> の handleMessage message - メッセージ public void handleFailure(ThrowableSE ex)
TcpConnectionHandlerTcpConnectionHandler<byte[]> の handleFailure ex - 例外 public void afterConnectionClosed()
TcpConnectionHandlerTcpConnectionHandler<byte[]> の afterConnectionClosed