クラス KafkaListenerEndpointRegistry
java.lang.ObjectSE
org.springframework.kafka.config.KafkaListenerEndpointRegistry
- 実装されたすべてのインターフェース:
EventListenerSE
、Aware
、DisposableBean
、ApplicationContextAware
、ApplicationListener<ContextRefreshedEvent>
、Lifecycle
、Phased
、SmartLifecycle
、ListenerContainerRegistry
public class KafkaListenerEndpointRegistry
extends ObjectSE
implements ListenerContainerRegistry, DisposableBean, SmartLifecycle, ApplicationContextAware, ApplicationListener<ContextRefreshedEvent>
登録されたエンドポイントに必要な
MessageListenerContainer
インスタンスを作成します。また、特にアプリケーションコンテキストのライフサイクル内で、リスナーコンテナーのライフサイクルを管理します。 手動で作成された MessageListenerContainer
とは異なり、レジストリによって管理されるリスナーコンテナーは、アプリケーションコンテキストでは Bean ではなく、オートワイヤーの候補にもなりません。管理目的でこのレジストリのリスナーコンテナーにアクセスする必要がある場合は、getListenerContainers()
を使用します。特定のメッセージリスナーコンテナーにアクセスする必要がある場合は、エンドポイントの ID を指定して getListenerContainer(String)
を使用します。
- 作成者:
- Stephane Nicoll, Juergen Hoeller, Artem Bilan, Gary Russell, Asi Bross, Wang Zhiyang, Joo Hyuk Kim
- 関連事項:
フィールドサマリー
フィールドインターフェース org.springframework.context.SmartLifecycle から継承されたフィールド
DEFAULT_PHASE
コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected MessageListenerContainer
createListenerContainer
(KafkaListenerEndpoint endpoint, KafkaListenerContainerFactory<?> factory) 指定されたファクトリを使用して、新しいMessageListenerContainer
を作成して開始します。void
destroy()
このレジストリによって管理されているインスタンスと、アプリケーションコンテキストで Bean として宣言されているインスタンスを含むすべてのMessageListenerContainer
インスタンスを返します。指定された ID を持つMessageListenerContainer
またはそのようなコンテナーが存在しない場合はnull
を返します。マネージドMessageListenerContainer
インスタンスの ID を返します。マネージドMessageListenerContainer
インスタンスを返します。getListenerContainersMatching
(BiPredicateSE<StringSE, MessageListenerContainer> idAndContainerMatcher) 指定された双述語を満たすすべてのMessageListenerContainer
インスタンスを返します。getListenerContainersMatching
(PredicateSE<StringSE> idMatcher) 述語に一致する ID を持つすべてのMessageListenerContainer
インスタンスを返します。そのようなコンテナーが存在しない場合は空のCollection
SE を返します。int
getPhase()
指定された ID を持つMessageListenerContainer
またはそのようなコンテナーが存在しない場合はnull
を返します。boolean
void
void
registerListenerContainer
(KafkaListenerEndpoint endpoint, KafkaListenerContainerFactory<?> factory) 指定されたKafkaListenerEndpoint
のメッセージリスナーコンテナーを作成します。void
registerListenerContainer
(KafkaListenerEndpoint endpoint, KafkaListenerContainerFactory<?> factory, boolean startImmediately) 指定されたKafkaListenerEndpoint
のメッセージリスナーコンテナーを作成します。void
setAlwaysStartAfterRefresh
(boolean alwaysStartAfterRefresh) By default, containers registered for endpoints after the context is refreshed are immediately started, regardless of their autoStartup property, to comply with theSmartLifecycle
contract, where autoStartup is only considered during context initialization.void
setApplicationContext
(ApplicationContext applicationContext) void
start()
void
stop()
void
stop
(RunnableSE callback) 指定された ID でリスナーコンテナーを登録解除します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.context.ApplicationListener から継承されたメソッド
supportsAsyncExecution
インターフェース org.springframework.context.SmartLifecycle から継承されたメソッド
isAutoStartup
フィールドの詳細
logger
コンストラクターの詳細
KafkaListenerEndpointRegistry
public KafkaListenerEndpointRegistry()
メソッドの詳細
setApplicationContext
- 次で指定:
- インターフェース
ApplicationContextAware
のsetApplicationContext
- 例外:
BeansException
getListenerContainer
指定された ID を持つMessageListenerContainer
またはそのようなコンテナーが存在しない場合はnull
を返します。- 次で指定:
- インターフェース
ListenerContainerRegistry
のgetListenerContainer
- パラメーター:
id
- コンテナーの ID- 戻り値:
- コンテナー、またはその ID のコンテナーが存在しない場合は
null
- 関連事項:
getListenerContainersMatching
public CollectionSE<MessageListenerContainer> getListenerContainersMatching(PredicateSE<StringSE> idMatcher) 述語に一致する ID を持つすべてのMessageListenerContainer
インスタンスを返します。そのようなコンテナーが存在しない場合は空のCollection
SE を返します。- 次で指定:
- インターフェース
ListenerContainerRegistry
のgetListenerContainersMatching
- パラメーター:
idMatcher
- コンテナー ID と一致する述語- 戻り値:
- コンテナー、または、その ID のコンテナーが存在しない場合は空の
Collection
SE - 導入:
- 3.2
- 関連事項:
getListenerContainersMatching
public CollectionSE<MessageListenerContainer> getListenerContainersMatching(BiPredicateSE<StringSE, MessageListenerContainer> idAndContainerMatcher) 指定された双述語を満たすすべてのMessageListenerContainer
インスタンスを返します。BiPredicate<String, MessageListenerContainer>
は、コンテナー ID とコンテナー自体を引数として受け取ります。これにより、コンテナー自体のプロパティや状態など、より高度なフィルタリングが可能になります。- 次で指定:
- インターフェース
ListenerContainerRegistry
のgetListenerContainersMatching
- パラメーター:
idAndContainerMatcher
- コンテナー ID とコンテナーを一致させるための双述語- 戻り値:
- 双述語条件に一致するコンテナー、または一致するコンテナーが存在しない場合は空の
Collection
SE - 導入:
- 3.2
- 関連事項:
getUnregisteredListenerContainer
インターフェースからコピーされた説明:ListenerContainerRegistry
指定された ID を持つMessageListenerContainer
を返すか、そのようなコンテナーが存在しない場合はnull
を返します。レジストリに登録されていないが、アプリケーションコンテキストに存在するコンテナーを返します。- 次で指定:
- インターフェース
ListenerContainerRegistry
のgetUnregisteredListenerContainer
- パラメーター:
id
- コンテナーの ID- 戻り値:
- コンテナー、またはその ID のコンテナーが存在しない場合は
null
- 関連事項:
setAlwaysStartAfterRefresh
public void setAlwaysStartAfterRefresh(boolean alwaysStartAfterRefresh) By default, containers registered for endpoints after the context is refreshed are immediately started, regardless of their autoStartup property, to comply with theSmartLifecycle
contract, where autoStartup is only considered during context initialization. Set to false to apply the autoStartup property, even for late endpoint binding. If this is called after the context is refreshed, it will apply to any endpoints registered after that call.- パラメーター:
alwaysStartAfterRefresh
- プロパティを適用するには false。- 導入:
- 2.8.7
getListenerContainerIds
マネージドMessageListenerContainer
インスタンスの ID を返します。- 次で指定:
- インターフェース
ListenerContainerRegistry
のgetListenerContainerIds
- 戻り値:
- ID。
- 関連事項:
getListenerContainers
マネージドMessageListenerContainer
インスタンスを返します。- 次で指定:
- インターフェース
ListenerContainerRegistry
のgetListenerContainers
- 戻り値:
- 管理対象の
MessageListenerContainer
インスタンス。 - 関連事項:
getAllListenerContainers
このレジストリによって管理されているインスタンスと、アプリケーションコンテキストで Bean として宣言されているインスタンスを含むすべてのMessageListenerContainer
インスタンスを返します。プロトタイプスコープのコンテナーが含まれます。まだ作成されていないレイジー Bean は、このメソッドの呼び出しによって初期化されません。- 次で指定:
- インターフェース
ListenerContainerRegistry
のgetAllListenerContainers
- 戻り値:
MessageListenerContainer
インスタンス。- 導入:
- 2.2.5
- 関連事項:
registerListenerContainer
public void registerListenerContainer(KafkaListenerEndpoint endpoint, KafkaListenerContainerFactory<?> factory) 指定されたKafkaListenerEndpoint
のメッセージリスナーコンテナーを作成します。これにより、構成に関してエンドポイントを尊重するために必要なインフラストラクチャが作成されます。
- パラメーター:
endpoint
- 追加するエンドポイントfactory
- 使用するリスナーファクトリ- 関連事項:
registerListenerContainer
public void registerListenerContainer(KafkaListenerEndpoint endpoint, KafkaListenerContainerFactory<?> factory, boolean startImmediately) 指定されたKafkaListenerEndpoint
のメッセージリスナーコンテナーを作成します。これにより、構成に関してエンドポイントを尊重するために必要なインフラストラクチャが作成されます。
startImmediately
フラグは、コンテナーをすぐに開始する必要があるかどうかを決定します。- パラメーター:
endpoint
- 追加するエンドポイント。factory
- 使用するKafkaListenerContainerFactory
。startImmediately
- 必要に応じてすぐにコンテナーを開始します- 関連事項:
unregisterListenerContainer
指定された ID でリスナーコンテナーを登録解除します。IMPORTANT: このメソッドは、レジストリからコンテナーを削除するだけです。
Lifecycle
またはDisposableBean
メソッドを呼び出しません。コンテナーをシャットダウンするには、このメソッドを呼び出す前または後に呼び出す必要があります。- パラメーター:
id
- ID。- 戻り値:
- コンテナー (登録されている場合)。それ以外の場合は null。
- 導入:
- 2.8.9
createListenerContainer
protected MessageListenerContainer createListenerContainer(KafkaListenerEndpoint endpoint, KafkaListenerContainerFactory<?> factory) 指定されたファクトリを使用して、新しいMessageListenerContainer
を作成して開始します。- パラメーター:
endpoint
-MessageListenerContainer
を作成するためのエンドポイント。factory
- 使用するKafkaListenerContainerFactory
。- 戻り値:
MessageListenerContainer
destroy
public void destroy()- 次で指定:
- インターフェース
DisposableBean
のdestroy
getPhase
public int getPhase()- 次で指定:
- インターフェース
Phased
のgetPhase
- 次で指定:
- インターフェース
SmartLifecycle
のgetPhase
start
public void start()stop
public void stop()stop
- 次で指定:
- インターフェース
SmartLifecycle
のstop
isRunning
public boolean isRunning()onApplicationEvent
- 次で指定:
- インターフェース
ApplicationListener<ContextRefreshedEvent>
のonApplicationEvent