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