public class UserDestinationMessageHandler extends ObjectSE implements MessageHandler, SmartLifecycle
MessageHandler。「ユーザー」宛先のメッセージをリッスンし、その宛先をユーザーのアクティブセッションに固有の実際のターゲット宛先に変換し、解決されたメッセージをブローカーチャネルに送信して配信します。
| コンストラクターと説明 |
|---|
UserDestinationMessageHandler(SubscribableChannel clientInboundChannel, SubscribableChannel brokerChannel, UserDestinationResolver resolver) 指定されたクライアントとブローカーチャネルをサブスクライブしてインスタンスを作成し、それぞれからのメッセージを処理して、解決されたメッセージをブローカーチャネルに送信します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
StringSE | getBroadcastDestination() 未解決のメッセージの構成済み宛先を返します。 |
MessageSendingOperations<StringSE> | getBrokerMessagingTemplate() 解決されたメッセージをブローカーチャネルに送信するために使用されるメッセージングテンプレートを返します。 |
MessageHeaderInitializer | getHeaderInitializer() 設定済みのヘッダー初期化子を返します。 |
int | getPhase() このオブジェクトのフェーズ値を返します。 |
UserDestinationResolver | getUserDestinationResolver() 設定された UserDestinationResolver を返します。 |
void | handleMessage(Message<?> message) 指定されたメッセージを処理します。 |
boolean | isAutoStartup() |
boolean | isRunning() このコンポーネントが現在実行されているかどうかを確認します。 |
void | setBroadcastDestination(StringSE destination) ユーザーが接続されていないため未解決のままになるメッセージをブロードキャストする宛先を設定します。 |
void | setHeaderInitializer(MessageHeaderInitializer headerInitializer) カスタム MessageHeaderInitializer を構成して、解決されたターゲットメッセージのヘッダーを初期化します。 |
void | start() このコンポーネントを起動します。 |
void | stop() このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。 |
void | stop(RunnableSE callback)Lifecycle コンポーネントが現在実行中の場合、停止する必要があることを示します。 |
StringSE | toString() |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEpublic UserDestinationMessageHandler(SubscribableChannel clientInboundChannel, SubscribableChannel brokerChannel, UserDestinationResolver resolver)
clientInboundChannel - クライアントから受信したメッセージ。brokerChannel - ブローカーに送信されたメッセージ。resolver - 「ユーザー」宛先のリゾルバー。public UserDestinationResolver getUserDestinationResolver()
UserDestinationResolver を返します。public void setBroadcastDestination(@Nullable StringSE destination)
デフォルトでは、これは設定されていません。
destination - ターゲット宛先。public MessageSendingOperations<StringSE> getBrokerMessagingTemplate()
public void setHeaderInitializer(@Nullable MessageHeaderInitializer headerInitializer)
MessageHeaderInitializer を構成して、解決されたターゲットメッセージのヘッダーを初期化します。デフォルトでは、これは設定されていません。
@Nullable public MessageHeaderInitializer getHeaderInitializer()
public int getPhase()
Phasedpublic boolean isAutoStartup()
SmartLifecycletrue が含まれる ApplicationContext がリフレッシュされるときに、この Lifecycle コンポーネントがコンテナーによって自動的に開始される場合、true を返します。false の値は、プレーン Lifecycle 実装に類似した、明示的な Lifecycle.start() 呼び出しを介してコンポーネントが開始されることを意図していることを示します。
public final void start()
Lifecycleコンポーネントがすでに実行されている場合は、例外をスローしないでください。
コンテナーの場合、これは適用されるすべてのコンポーネントに開始シグナルを伝播します。
Lifecycle 内の start SmartLifecycle.isAutoStartup()public final void stop()
LifecycleSmartLifecycle とその stop(Runnable) バリアントの実装を検討してください。 この停止通知が破棄の前に来るとは限らないことに注意してください。通常のシャットダウンでは、Lifecycle Bean は一般的な破棄コールバックが伝達される前に、まず停止通知を受け取ります。ただし、コンテキストの有効期間中のホットリフレッシュ時、またはリフレッシュ試行が中止されたときは、destroy メソッドのみが呼び出されます。
コンポーネントがまだ開始されていない場合は、例外をスローしないでください。
コンテナーの場合、これは停止シグナルを適用するすべてのコンポーネントに伝播します。
Lifecycle 内の stop SmartLifecycle.stop(Runnable), DisposableBean.destroy()public final void stop(RunnableSE callback)
SmartLifecycle 提供されたコールバックは、LifecycleProcessor によって使用され、共通のシャットダウン順序値を持つすべてのコンポーネントの順序付けられた、潜在的に同時のシャットダウンをサポートします。コールバック は、SmartLifecycle コンポーネントが実際に停止した後に実行する必要があります。
LifecycleProcessor は、stop メソッドのこのバリアントのみを呼び出します。つまり、SmartLifecycle 実装では、このメソッドの実装内に明示的に委譲されない限り、Lifecycle.stop() は呼び出されません。
SmartLifecycle 内の stop Lifecycle.stop(), Phased.getPhase()public final boolean isRunning()
Lifecycle コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、true を返します。
public void handleMessage(Message<?> message) throws MessagingException
MessageHandlerMessageHandler 内の handleMessage message - 処理するメッセージ MessagingExceptionpublic StringSE toString()
ObjectSE の toStringSE