インターフェース SimpMessageSendingOperations
- すべてのスーパーインターフェース:
MessageSendingOperations<StringSE>
- すべての既知の実装クラス:
SimpMessagingTemplate
MessageSendingOperations の特殊化。 ユーザー宛先の詳細については、UserDestinationResolver を参照してください。
一般に、ユーザーは WebSocket セッションで認証されたユーザーであると予想されます(または、拡張により、セッションを開始したハンドシェイクリクエストで認証されたユーザー)。ただし、セッションが認証されていない場合は、ユーザー名の代わりにセッション ID(わかっている場合)を渡すこともできます。ただし、そのシナリオでは、sessionId ヘッダーが適切に設定されていることを確認して、ヘッダーを受け入れるオーバーロードメソッドの 1 つを使用する必要があることに注意してください。
- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev
メソッドのサマリー
修飾子と型メソッド説明voidconvertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload) 指定されたユーザーにメッセージを送信します。voidconvertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload, @Nullable MapSE<StringSE, ObjectSE> headers, @Nullable MessagePostProcessor postProcessor) 指定されたユーザーにメッセージを送信します。voidconvertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload, MapSE<StringSE, ObjectSE> headers) 指定されたユーザーにメッセージを送信します。voidconvertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload, MessagePostProcessor postProcessor) 指定されたユーザーにメッセージを送信します。インターフェース MessageSendingOperations から継承されたメソッド
convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, send, send
メソッドの詳細
convertAndSendToUser
void convertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload) throws MessagingException 指定されたユーザーにメッセージを送信します。- パラメーター:
user- メッセージを受信するユーザー。destination- メッセージの送信先。payload- 送信するペイロード- 例外:
MessagingException
convertAndSendToUser
void convertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload, MapSE<StringSE, ObjectSE> headers) throws MessagingException指定されたユーザーにメッセージを送信します。デフォルトでは、ヘッダーはネイティブヘッダー (STOMP など) として解釈され、結果の Spring
Messageの特別なキーに保存されます。実際には、メッセージがアプリケーションから送信されるときに、提供されたヘッダーがメッセージに含まれ、宛先 (STOMP クライアントまたはブローカーなど) に配信されます。マップにすでにキー
"nativeHeaders"が含まれているか、SimpMessageHeaderAccessorで準備されている場合、ヘッダーが直接使用されます。一般的な期待されるケースは、コンテンツ型(メッセージ変換に影響を与えるため)とネイティブヘッダーの提供です。これは次のように実行できます。SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create(); accessor.setContentType(MimeTypeUtils.TEXT_PLAIN); accessor.setNativeHeader("foo", "bar"); accessor.setLeaveMutable(true); MessageHeaders headers = accessor.getMessageHeaders(); messagingTemplate.convertAndSendToUser(user, destination, payload, headers);注意 :
MessageHeadersが上記の例のように可変である場合、このインターフェースの実装は、通知を受け取り、同じインスタンスのヘッダーを(コピーまたは再作成するのではなく)更新してから、最終メッセージを送信する前に不変に設定する必要があります。- パラメーター:
user- メッセージを受信するユーザー (nullであってはなりません)destination- メッセージの送信先 (nullであってはなりません)payload- 送信するペイロード (nullの場合があります)headers- メッセージヘッダー (nullの場合があります)- 例外:
MessagingException
convertAndSendToUser
void convertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload, MessagePostProcessor postProcessor) throws MessagingException 指定されたユーザーにメッセージを送信します。- パラメーター:
user- メッセージを受信するユーザー (nullであってはなりません)destination- メッセージの送信先 (nullであってはなりません)payload- 送信するペイロード (nullの場合があります)postProcessor- 作成されたメッセージを後処理または変更するための postProcessor- 例外:
MessagingException
convertAndSendToUser
void convertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload, @Nullable MapSE<StringSE, ObjectSE> headers, @Nullable MessagePostProcessor postProcessor) throws MessagingException指定されたユーザーにメッセージを送信します。入力ヘッダーに関する重要な注意事項については、
MessageSendingOperations.convertAndSend(Object, Object, java.util.Map)を参照してください。- パラメーター:
user- メッセージを受信するユーザーdestination- メッセージの送信先payload- 送信するペイロードheaders- メッセージヘッダーpostProcessor- 作成されたメッセージを後処理または変更するための postProcessor- 例外:
MessagingException