クラス SimpMessagingTemplate
- 実装されているすべてのインターフェース:
MessageSendingOperations<StringSE>,SimpMessageSendingOperations
SimpMessageSendingOperations の実装。 ユーザーにメッセージを送信するためのメソッドも提供します。ユーザー宛先の詳細については、UserDestinationResolver を参照してください。
- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev
フィールドのサマリー
クラス org.springframework.messaging.core.AbstractMessageSendingTemplate から継承されたフィールド
CONVERSION_HINT_HEADER, loggerコンストラクターの概要
コンストラクターコンストラクター説明SimpMessagingTemplate(MessageChannel messageChannel) 新しいSimpMessagingTemplateインスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明voidconvertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload) 指定されたユーザーにメッセージを送信します。voidconvertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload, MapSE<StringSE, ObjectSE> headers) 指定されたユーザーにメッセージを送信します。voidconvertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload, MapSE<StringSE, ObjectSE> headers, MessagePostProcessor postProcessor) 指定されたユーザーにメッセージを送信します。voidconvertAndSendToUser(StringSE user, StringSE destination, ObjectSE payload, MessagePostProcessor postProcessor) 指定されたユーザーにメッセージを送信します。protected void実際に指定されたメッセージを指定された宛先に送信します。設定済みのヘッダー初期化子を返します。設定されたメッセージチャネルを返します。long設定された送信タイムアウト(ミリ秒単位)を返します。設定されたユーザー宛先プレフィックスを返します。processHeadersToSend(MapSE<StringSE, ObjectSE> headers) 新しいマップを作成し、指定されたヘッダーをキーNATIVE_HEADERSに配置します。void指定されたメッセージのヘッダーにすでにSimpMessageHeaderAccessor#DESTINATION_HEADERが含まれている場合、メッセージは変更なしで送信されます。voidsetHeaderInitializer(MessageHeaderInitializer headerInitializer) MessageHeaderInitializerを構成して、SimpMessagingTemplateを介して作成されたすべてのメッセージのヘッダーに適用します。voidsetSendTimeout(long sendTimeout) 送信操作に使用するタイムアウト値をミリ秒単位で指定します。voidsetUserDestinationPrefix(StringSE prefix) 特定のユーザーをターゲットとする宛先に使用するプレフィックスを構成します。クラス org.springframework.messaging.core.AbstractMessageSendingTemplate から継承されたメソッド
convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, doConvert, getDefaultDestination, getMessageConverter, getRequiredDefaultDestination, send, setDefaultDestination, setMessageConverterクラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース org.springframework.messaging.core.MessageSendingOperations から継承されたメソッド
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)