public interface SimpMessageSendingOperations extends MessageSendingOperations<java.lang.String>
MessageSendingOperations の特殊化。 ユーザー宛先の詳細については、UserDestinationResolver を参照してください。
一般に、ユーザーは WebSocket セッションで認証されたユーザーであると予想されます(または、拡張により、セッションを開始したハンドシェイクリクエストで認証されたユーザー)。ただし、セッションが認証されていない場合は、ユーザー名の代わりにセッション ID(わかっている場合)を渡すこともできます。ただし、そのシナリオでは、sessionId ヘッダーが適切に設定されていることを確認して、ヘッダーを受け入れるオーバーロードメソッドの 1 つを使用する必要があることに注意してください。
| 修飾子と型 | メソッドと説明 |
|---|---|
void | convertAndSendToUser(java.lang.String user, java.lang.String destination, java.lang.Object payload) 指定されたユーザーにメッセージを送信します。 |
void | convertAndSendToUser(java.lang.String user, java.lang.String destination, java.lang.Object payload, java.util.Map<java.lang.String,java.lang.Object> headers) 指定されたユーザーにメッセージを送信します。 |
void | convertAndSendToUser(java.lang.String user, java.lang.String destination, java.lang.Object payload, java.util.Map<java.lang.String,java.lang.Object> headers, MessagePostProcessor postProcessor) 指定されたユーザーにメッセージを送信します。 |
void | convertAndSendToUser(java.lang.String user, java.lang.String destination, java.lang.Object payload, MessagePostProcessor postProcessor) 指定されたユーザーにメッセージを送信します。 |
convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, send, sendvoid convertAndSendToUser(java.lang.String user,
java.lang.String destination,
java.lang.Object payload)
throws MessagingExceptionuser - メッセージを受信するユーザー。destination - メッセージの送信先。payload - 送信するペイロード MessagingExceptionvoid convertAndSendToUser(java.lang.String user,
java.lang.String destination,
java.lang.Object payload,
java.util.Map<java.lang.String,java.lang.Object> 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 の場合があります)MessagingExceptionvoid convertAndSendToUser(java.lang.String user,
java.lang.String destination,
java.lang.Object payload,
MessagePostProcessor postProcessor)
throws MessagingExceptionuser - メッセージを受信するユーザー (null であってはなりません)destination - メッセージの送信先 (null であってはなりません)payload - 送信するペイロード (null の場合があります)postProcessor - 作成されたメッセージを後処理または変更するための postProcessorMessagingExceptionvoid convertAndSendToUser(java.lang.String user,
java.lang.String destination,
java.lang.Object payload,
@Nullable
java.util.Map<java.lang.String,java.lang.Object> headers,
@Nullable
MessagePostProcessor postProcessor)
throws MessagingException 入力ヘッダーに関する重要な注意事項については、MessageSendingOperations.convertAndSend(Object, Object, java.util.Map) を参照してください。
user - メッセージを受信するユーザー destination - メッセージの送信先 payload - 送信するペイロード headers - メッセージヘッダー postProcessor - 作成されたメッセージを後処理または変更するための postProcessorMessagingException