クラス SimpMessagingTemplate
- 実装されているすべてのインターフェース:
MessageSendingOperations<StringSE>, SimpMessageSendingOperations
SimpMessageSendingOperations の実装。 ユーザーにメッセージを送信するためのメソッドも提供します。ユーザー宛先の詳細については、UserDestinationResolver を参照してください。
- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev
フィールドのサマリー
クラス AbstractMessageSendingTemplate から継承されたフィールド
CONVERSION_HINT_HEADER, loggerコンストラクターの概要
コンストラクターコンストラクター説明SimpMessagingTemplate(MessageChannel messageChannel) 新しいSimpMessagingTemplateインスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明voidconvertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload) 指定されたユーザーにメッセージを送信します。voidconvertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload, @Nullable MapSE<StringSE, ObjectSE> headers) 指定されたユーザーにメッセージを送信します。voidconvertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload, @Nullable MapSE<StringSE, ObjectSE> headers, @Nullable MessagePostProcessor postProcessor) 指定されたユーザーにメッセージを送信します。voidconvertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload, @Nullable MessagePostProcessor postProcessor) 指定されたユーザーにメッセージを送信します。protected void実際に指定されたメッセージを指定された宛先に送信します。設定済みのヘッダー初期化子を返します。設定されたメッセージチャネルを返します。long設定された送信タイムアウト(ミリ秒単位)を返します。設定されたユーザー宛先プレフィックスを返します。processHeadersToSend(@Nullable MapSE<StringSE, ObjectSE> headers) 新しいマップを作成し、指定されたヘッダーをキーNATIVE_HEADERSに配置します。void指定されたメッセージのヘッダーにすでにSimpMessageHeaderAccessor#DESTINATION_HEADERが含まれている場合、メッセージは変更なしで送信されます。voidsetHeaderInitializer(@Nullable MessageHeaderInitializer headerInitializer) MessageHeaderInitializerを構成して、SimpMessagingTemplateを介して作成されたすべてのメッセージのヘッダーに適用します。voidsetSendTimeout(long sendTimeout) 送信操作に使用するタイムアウト値をミリ秒単位で指定します。voidsetUserDestinationPrefix(StringSE prefix) 特定のユーザーをターゲットとする宛先に使用するプレフィックスを構成します。クラス AbstractMessageSendingTemplate から継承されたメソッド
convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, doConvert, getDefaultDestination, getMessageConverter, getRequiredDefaultDestination, send, setDefaultDestination, setMessageConverterクラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース MessageSendingOperations から継承されたメソッド
convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, send
コンストラクターの詳細
SimpMessagingTemplate
新しいSimpMessagingTemplateインスタンスを作成します。- パラメーター:
messageChannel- メッセージチャンネル (非null)
メソッドの詳細
getMessageChannel
設定されたメッセージチャネルを返します。setUserDestinationPrefix
特定のユーザーをターゲットとする宛先に使用するプレフィックスを構成します。デフォルト値は "/user/" です。
- 関連事項:
getUserDestinationPrefix
設定されたユーザー宛先プレフィックスを返します。setSendTimeout
public void setSendTimeout(long sendTimeout) 送信操作に使用するタイムアウト値をミリ秒単位で指定します。getSendTimeout
public long getSendTimeout()設定された送信タイムアウト(ミリ秒単位)を返します。setHeaderInitializer
MessageHeaderInitializerを構成して、SimpMessagingTemplateを介して作成されたすべてのメッセージのヘッダーに適用します。デフォルトでは、このプロパティは設定されていません。
getHeaderInitializer
設定済みのヘッダー初期化子を返します。send
指定されたメッセージのヘッダーにすでにSimpMessageHeaderAccessor#DESTINATION_HEADERが含まれている場合、メッセージは変更なしで送信されます。宛先ヘッダーがまだ存在しない場合、メッセージは構成された
defaultDestinationに送信され、構成されていない場合はIllegalStateExceptionが発生します。- 次で指定:
- インターフェース
MessageSendingOperations<StringSE>のsend - オーバーライド:
- クラス
AbstractMessageSendingTemplate<StringSE>のsend - パラメーター:
message- 送信するメッセージ (非null)
doSend
クラスからコピーされた説明:AbstractMessageSendingTemplate実際に指定されたメッセージを指定された宛先に送信します。- 次で指定:
- クラス
AbstractMessageSendingTemplate<StringSE>のdoSend - パラメーター:
destination- 宛先message- 送信するメッセージ
convertAndSendToUser
public void convertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload) throws MessagingException インターフェースからコピーされた説明:SimpMessageSendingOperations指定されたユーザーにメッセージを送信します。- 次で指定:
- インターフェース
SimpMessageSendingOperationsのconvertAndSendToUser - パラメーター:
user- メッセージを受信するユーザー。destination- メッセージの送信先。payload- 送信するペイロード- 例外:
MessagingException
convertAndSendToUser
public void convertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload, @Nullable MapSE<StringSE, ObjectSE> headers) throws MessagingExceptionインターフェースからコピーされた説明:SimpMessageSendingOperations指定されたユーザーにメッセージを送信します。デフォルトでは、ヘッダーはネイティブヘッダー (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が上記の例のように可変である場合、このインターフェースの実装は、通知を受け取り、同じインスタンスのヘッダーを(コピーまたは再作成するのではなく)更新してから、最終メッセージを送信する前に不変に設定する必要があります。- 次で指定:
- インターフェース
SimpMessageSendingOperationsのconvertAndSendToUser - パラメーター:
user- メッセージを受信するユーザー (nullであってはなりません)destination- メッセージの送信先 (nullであってはなりません)payload- 送信するペイロード (nullの場合があります)headers- メッセージヘッダー (nullの場合があります)- 例外:
MessagingException
convertAndSendToUser
public void convertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload, @Nullable MessagePostProcessor postProcessor) throws MessagingException インターフェースからコピーされた説明:SimpMessageSendingOperations指定されたユーザーにメッセージを送信します。- 次で指定:
- インターフェース
SimpMessageSendingOperationsのconvertAndSendToUser - パラメーター:
user- メッセージを受信するユーザー (nullであってはなりません)destination- メッセージの送信先 (nullであってはなりません)payload- 送信するペイロード (nullの場合があります)postProcessor- 作成されたメッセージを後処理または変更するための postProcessor- 例外:
MessagingException
convertAndSendToUser
public void convertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload, @Nullable MapSE<StringSE, ObjectSE> headers, @Nullable MessagePostProcessor postProcessor) throws MessagingExceptionインターフェースからコピーされた説明:SimpMessageSendingOperations指定されたユーザーにメッセージを送信します。入力ヘッダーに関する重要な注意事項については、
MessageSendingOperations.convertAndSend(Object, Object, java.util.Map)を参照してください。- 次で指定:
- インターフェース
SimpMessageSendingOperationsのconvertAndSendToUser - パラメーター:
user- メッセージを受信するユーザーdestination- メッセージの送信先payload- 送信するペイロードheaders- メッセージヘッダーpostProcessor- 作成されたメッセージを後処理または変更するための postProcessor- 例外:
MessagingException
processHeadersToSend
新しいマップを作成し、指定されたヘッダーをキーNATIVE_HEADERSに配置します。入力ヘッダーマップを宛先に送信されるヘッダーとして効果的に扱います。
ただし、指定されたヘッダーにすでにキー
NATIVE_HEADERSが含まれている場合、同じヘッダーインスタンスが変更なしで返されます。また、指定されたヘッダーが
MessageHeaderAccessor.getMessageHeaders()で準備および取得された場合、同じヘッダーインスタンスも変更なしで返されます。- オーバーライド:
- クラス
AbstractMessageSendingTemplate<StringSE>のprocessHeadersToSend - パラメーター:
headers- 送信するヘッダー (または、存在しない場合はnull)- 戻り値:
- 送信する実際のヘッダー (または、存在しない場合は
null)