インターフェース SimpMessageSendingOperations
- すべてのスーパーインターフェース:
MessageSendingOperations<StringSE>
- すべての既知の実装クラス:
SimpMessagingTemplate
MessageSendingOperations
の特殊化。 ユーザー宛先の詳細については、UserDestinationResolver
を参照してください。
一般に、ユーザーは WebSocket セッションで認証されたユーザーであると予想されます(または、拡張により、セッションを開始したハンドシェイクリクエストで認証されたユーザー)。ただし、セッションが認証されていない場合は、ユーザー名の代わりにセッション ID(わかっている場合)を渡すこともできます。ただし、そのシナリオでは、sessionId
ヘッダーが適切に設定されていることを確認して、ヘッダーを受け入れるオーバーロードメソッドの 1 つを使用する必要があることに注意してください。
- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev
方法の概要
修飾子と型メソッド説明void
convertAndSendToUser
(StringSE user, StringSE destination, ObjectSE payload) 指定されたユーザーにメッセージを送信します。void
convertAndSendToUser
(StringSE user, StringSE destination, ObjectSE payload, MapSE<StringSE, ObjectSE> headers) 指定されたユーザーにメッセージを送信します。void
convertAndSendToUser
(StringSE user, StringSE destination, ObjectSE payload, MapSE<StringSE, ObjectSE> headers, MessagePostProcessor postProcessor) 指定されたユーザーにメッセージを送信します。void
convertAndSendToUser
(StringSE user, StringSE destination, ObjectSE payload, MessagePostProcessor postProcessor) 指定されたユーザーにメッセージを送信します。インターフェース org.springframework.messaging.core.MessageSendingOperations から継承されたメソッド
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