インターフェース SimpMessageSendingOperations

すべてのスーパーインターフェース:
MessageSendingOperations<StringSE>
すべての既知の実装クラス:
SimpMessagingTemplate

public interface SimpMessageSendingOperations extends MessageSendingOperations<StringSE>
シンプルメッセージングプロトコル(STOMP など)の Spring Framework サポートで使用するためのメソッドを持つ MessageSendingOperations の特殊化。

ユーザー宛先の詳細については、UserDestinationResolver を参照してください。

一般に、ユーザーは WebSocket セッションで認証されたユーザーであると予想されます(または、拡張により、セッションを開始したハンドシェイクリクエストで認証されたユーザー)。ただし、セッションが認証されていない場合は、ユーザー名の代わりにセッション ID(わかっている場合)を渡すこともできます。ただし、そのシナリオでは、sessionId ヘッダーが適切に設定されていることを確認して、ヘッダーを受け入れるオーバーロードメソッドの 1 つを使用する必要があることに注意してください。

導入:
4.0
作成者:
Rossen Stoyanchev
  • メソッドの詳細

    • 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