クラス JmsListenerEndpointRegistry

java.lang.ObjectSE
org.springframework.jms.config.JmsListenerEndpointRegistry
実装されたすべてのインターフェース:
EventListenerSEAwareDisposableBeanApplicationContextAwareApplicationListener<ContextRefreshedEvent>LifecyclePhasedSmartLifecycle

public class JmsListenerEndpointRegistry extends ObjectSE implements DisposableBean, SmartLifecycle, ApplicationContextAware, ApplicationListener<ContextRefreshedEvent>
登録されたエンドポイントに必要な MessageListenerContainer インスタンスを作成します。また、特にアプリケーションコンテキストのライフサイクル内で、リスナーコンテナーのライフサイクルを管理します。

手動で作成された MessageListenerContainers とは異なり、レジストリによって管理されるリスナーコンテナーは、アプリケーションコンテキストでは Bean ではなく、オートワイヤーの候補ではありません。管理目的でこのレジストリのリスナーコンテナーにアクセスする必要がある場合は、getListenerContainers() を使用します。特定のメッセージリスナーコンテナーにアクセスする必要がある場合は、エンドポイントの ID を指定して getListenerContainer(String) を使用します。

導入:
4.1
作成者:
Stephane Nicoll, Juergen Hoeller
関連事項:
  • フィールドの詳細

    • logger

      protected final Log logger
  • コンストラクターの詳細

    • JmsListenerEndpointRegistry

      public JmsListenerEndpointRegistry()
  • メソッドの詳細

    • setApplicationContext

      public void setApplicationContext(ApplicationContext applicationContext)
      インターフェースからコピーされた説明: ApplicationContextAware
      このオブジェクトが実行される ApplicationContext を設定します。通常、この呼び出しはオブジェクトの初期化に使用されます。

      通常の Bean プロパティの設定後、ただし InitializingBean.afterPropertiesSet() またはカスタム init メソッドなどの init コールバックの前に呼び出されます。ResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher) および MessageSourceAware の後に呼び出されます(該当する場合)。

      次で指定:
      インターフェース ApplicationContextAwaresetApplicationContext 
      パラメーター:
      applicationContext - このオブジェクトによって使用される ApplicationContext オブジェクト
      関連事項:
    • onApplicationEvent

      public void onApplicationEvent(ContextRefreshedEvent event)
      インターフェースからコピーされた説明: ApplicationListener
      アプリケーションイベントを処理します。
      次で指定:
      インターフェース ApplicationListener<ContextRefreshedEvent>onApplicationEvent 
      パラメーター:
      event - 応答するイベント
    • getListenerContainer

      @Nullable public MessageListenerContainer getListenerContainer(StringSE id)
      指定された ID を持つ MessageListenerContainer またはそのようなコンテナーが存在しない場合は null を返します。
      パラメーター:
      id - コンテナーの ID
      戻り値:
      コンテナー、またはその ID のコンテナーが存在しない場合は null 
      関連事項:
    • getListenerContainerIds

      public SetSE<StringSE> getListenerContainerIds()
      マネージド MessageListenerContainer インスタンスの ID を返します。
      導入:
      4.2.3
      関連事項:
    • getListenerContainers

      public CollectionSE<MessageListenerContainer> getListenerContainers()
      マネージド MessageListenerContainer インスタンスを返します。
    • registerListenerContainer

      public void registerListenerContainer(JmsListenerEndpoint endpoint, JmsListenerContainerFactory<?> factory, boolean startImmediately)
      指定された JmsListenerEndpoint のメッセージリスナーコンテナーを作成します。

      これにより、構成に関してそのエンドポイントを尊重するために必要なインフラストラクチャが作成されます。

      startImmediately フラグは、コンテナーをすぐに開始する必要があるかどうかを決定します。

      パラメーター:
      endpoint - 追加するエンドポイント
      factory - 使用するリスナーファクトリ
      startImmediately - 必要に応じてすぐにコンテナーを開始します
      関連事項:
    • registerListenerContainer

      public void registerListenerContainer(JmsListenerEndpoint endpoint, JmsListenerContainerFactory<?> factory)
      指定された JmsListenerEndpoint のメッセージリスナーコンテナーを作成します。

      これにより、構成に関してそのエンドポイントを尊重するために必要なインフラストラクチャが作成されます。

      パラメーター:
      endpoint - 追加するエンドポイント
      factory - 使用するリスナーファクトリ
      関連事項:
    • createListenerContainer

      protected MessageListenerContainer createListenerContainer(JmsListenerEndpoint endpoint, JmsListenerContainerFactory<?> factory)
      指定されたファクトリを使用して新しいコンテナーを作成して開始します。
    • getPhase

      public int getPhase()
      インターフェースからコピーされた説明: SmartLifecycle
      このライフサイクルオブジェクトが実行されるはずのフェーズを返します。

      デフォルトの実装は、通常の Lifecycle 実装の前に stop() コールバックを実行できるようにするために SmartLifecycle.DEFAULT_PHASE を返します。

      次で指定:
      インターフェース PhasedgetPhase 
      次で指定:
      インターフェース SmartLifecyclegetPhase 
      関連事項:
    • start

      public void start()
      インターフェースからコピーされた説明: Lifecycle
      このコンポーネントを起動します。

      コンポーネントがすでに実行されている場合は、例外をスローしないでください。

      コンテナーの場合、これは適用されるすべてのコンポーネントに開始信号を伝播します。

      次で指定:
      インターフェース Lifecyclestart 
      関連事項:
    • stop

      public void stop()
      インターフェースからコピーされた説明: Lifecycle
      このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。非同期停止動作が必要な場合は、SmartLifecycle とその stop(Runnable) バリアントの実装を検討してください。

      この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、Lifecycle Bean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止信号を事前に考慮することなく呼び出されます。

      コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。

      コンテナーの場合、これは停止信号を適用するすべてのコンポーネントに伝播します。

      次で指定:
      インターフェース Lifecyclestop 
      関連事項:
    • stop

      public void stop(RunnableSE callback)
      インターフェースからコピーされた説明: SmartLifecycle
      Lifecycle コンポーネントが現在実行中の場合、停止する必要があることを示します。

      提供されたコールバックは、LifecycleProcessor によって使用され、共通のシャットダウン順序値を持つすべてのコンポーネントの順序付けられた、潜在的に同時のシャットダウンをサポートします。コールバック は、SmartLifecycle コンポーネントが実際に停止した後に実行する必要があります。

      LifecycleProcessor は、stop メソッドのこのバリアントのみを呼び出します。つまり、SmartLifecycle 実装では、このメソッドの実装内に明示的に委譲されない限り、Lifecycle.stop() は呼び出されません。

      デフォルトの実装は Lifecycle.stop() に委譲し、呼び出しスレッドで指定されたコールバックをすぐにトリガーします。2 つの間に同期がないことに注意してください。カスタム実装では、少なくとも共通のライフサイクルモニター(存在する場合)内に同じ手順を入れたい場合があります。

      次で指定:
      インターフェース SmartLifecyclestop 
      関連事項:
    • isRunning

      public boolean isRunning()
      インターフェースからコピーされた説明: Lifecycle
      このコンポーネントが現在実行されているかどうかを確認します。

      コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、true を返します。

      次で指定:
      インターフェース LifecycleisRunning 
      戻り値:
      コンポーネントが現在実行中かどうか
    • destroy

      public void destroy()
      インターフェースからコピーされた説明: DisposableBean
      Bean の破棄時に、包含 BeanFactory によって呼び出されます。
      次で指定:
      インターフェース DisposableBeandestroy