クラス KafkaMessageDrivenChannelAdapter<K,V>
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.endpoint.AbstractEndpoint
org.springframework.integration.endpoint.MessageProducerSupport
org.springframework.integration.kafka.inbound.KafkaMessageDrivenChannelAdapter<K,V>
- 型パラメーター:
K- 鍵の型。V- 値の型。
- 実装済みのインターフェース一覧:
Aware, BeanFactoryAware, BeanNameAware, DisposableBean, InitializingBean, SmartInitializingSingleton, ApplicationContextAware, Lifecycle, Phased, SmartLifecycle, ComponentSourceAware, ExpressionCapable, OrderlyShutdownCapable, MessageProducer, Pausable, IntegrationPattern, KafkaInboundEndpoint, NamedComponent, IntegrationInboundManagement, IntegrationManagement, ManageableLifecycle, ManageableSmartLifecycle, TrackableComponent
public class KafkaMessageDrivenChannelAdapter<K,V>
extends MessageProducerSupport
implements KafkaInboundEndpoint, OrderlyShutdownCapable, Pausable
メッセージ駆動型チャネルアダプター。
- 導入:
- 5.4
- 作成者:
- Marius Bogoevici, Gary Russell, Artem Bilan, Urs Keller, Jooyoung Pyoung, Oleksii Zernov
ネストされたクラスの概要
ネストされたクラスインターフェース IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverridesインターフェース KafkaInboundEndpoint から継承されたネストクラス / インターフェース
KafkaInboundEndpoint.RetryContextフィールド概要
クラス AbstractEndpoint から継承されたフィールド
lifecycleLockクラス IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, loggerインターフェース IntegrationManagement から継承されたフィールド
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEインターフェース KafkaInboundEndpoint から継承されたフィールド
ATTRIBUTES_HOLDER, CONTEXT_ACKNOWLEDGMENT, CONTEXT_CONSUMER, CONTEXT_RECORDインターフェース SmartLifecycle から継承されたフィールド
DEFAULT_PHASEコンストラクター概要
コンストラクターコンストラクター説明KafkaMessageDrivenChannelAdapter(org.springframework.kafka.listener.AbstractMessageListenerContainer<K, V> messageListenerContainer) モードKafkaMessageDrivenChannelAdapter.ListenerMode.recordでインスタンスを作成します。KafkaMessageDrivenChannelAdapter(org.springframework.kafka.listener.AbstractMessageListenerContainer<K, V> messageListenerContainer, KafkaMessageDrivenChannelAdapter.ListenerMode mode) 提供されたモードでインスタンスを構築します。方法の概要
修飾子と型メソッド説明intスケジューラー、エグゼキューターなどの通常のシャットダウンの後、シャットダウン遅延が経過した後、残りのアクティブなスケジューラー / エグゼキュータースレッドの強制シャットダウンの前に呼び出されます。オプションで、まだ処理中のアクティブなメッセージの数を返すことができます。intシャットダウンが始まる前に呼び出されます。protected voiddoStart()デフォルトでは何もしません。protected voiddoStop()デフォルトでは何もしません。protected AttributeAccessorgetErrorMessageAttributes(@Nullable Message<?> message) errorMessageStrategyでエラーメッセージを作成するときに使用するAttributeAccessorを設定します。booleanisPaused()エンドポイントが一時停止しているかどうかを確認します。protected voidonInit()サブクラスは、初期化ロジック用にこれを実装できます。voidpause()エンドポイントを一時停止します。voidresume()一時停止した場合は、エンドポイントを再開します。voidsetAckDiscarded(boolean ackDiscarded) FilteringMessageListenerAdapterが破棄されたレコードを確認する必要があるかどうかを示すbooleanフラグ。voidsetBatchMessageConverter(org.springframework.kafka.support.converter.BatchMessageConverter messageConverter) メッセージコンバーターを設定して、バッチベースのコンシューマーで使用します。voidsetBindSourceRecord(boolean bindSourceRecord) true に設定すると、IntegrationMessageHeaderAccessor.SOURCE_DATAという名前のヘッダーにソースコンシューマーレコードがバインドされます。voidsetFilterInRetry(boolean filterInRetry) フィルター操作と再試行操作が実行される順序を指定するbooleanフラグ。voidsetMessageConverter(org.springframework.kafka.support.converter.MessageConverter messageConverter) メッセージコンバーターを設定します。モードに応じて、RecordMessageConverterまたはBatchMessageConverterでなければなりません。voidsetOnPartitionsAssignedSeekCallback(BiConsumerSE<MapSE<org.apache.kafka.common.TopicPartition, LongSE>, org.springframework.kafka.listener.ConsumerSeekAware.ConsumerSeekCallback> onPartitionsAssignedCallback) KafkaMessageListenerContainerからのConsumerSeekAware.onPartitionsAssigned(Map, ConsumerSeekAware.ConsumerSeekCallback)呼び出し中にシーク管理用のBiConsumerSE を指定します。voidsetPayloadType(ClassSE<?> payloadType) StringJsonMessageConverterなどの型対応メッセージコンバーターを使用する場合は、コンバーターが作成するペイロード型を設定します。voidsetRecordFilterStrategy(org.springframework.kafka.listener.adapter.RecordFilterStrategy<K, V> recordFilterStrategy) KafkaMessageDrivenChannelAdapter.IntegrationRecordMessageListenerをFilteringMessageListenerAdapterにラップするRecordFilterStrategyを指定します。voidsetRecordMessageConverter(org.springframework.kafka.support.converter.RecordMessageConverter messageConverter) レコードコンバーターを使用するようにメッセージコンバーターを設定します。voidsetRecoveryCallback(RecoveryCallback<?> recoveryCallback) 再試行操作用のRecoveryCallbackインスタンス。null の場合、再試行回数が尽きた後にコンテナーに例外がスローされます (エラーチャネルが構成されていない限り)。voidsetRetryTemplate(RetryTemplate retryTemplate) 配信の再試行に使用するRetryTemplateインスタンスを指定します。クラス MessageProducerSupport から継承されたメソッド
afterSingletonsInstantiated, buildErrorMessage, getErrorChannel, getErrorMessageStrategy, getIntegrationPatternType, getMessagingTemplate, getOutputChannel, getOutputChannelName, getRequiredOutputChannel, isObserved, registerObservationRegistry, sendErrorMessageIfNecessary, sendMessage, setErrorChannel, setErrorChannelName, setErrorMessageStrategy, setObservationConvention, setOutputChannel, setOutputChannelName, setSendTimeout, setShouldTrack, subscribeToPublisherクラス AbstractEndpoint から継承されたメソッド
destroy, doStop, getPhase, getRole, isActive, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stopクラス IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringクラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSEインターフェース IntegrationManagement から継承されたメソッド
destroy, getManagedName, getManagedType, getOverrides, getThisAs, isLoggingEnabled, registerMetricsCaptor, setLoggingEnabled, setManagedName, setManagedTypeインターフェース KafkaInboundEndpoint から継承されたメソッド
doWithRetryインターフェース ManageableLifecycle から継承されたメソッド
isRunning, start, stopインターフェース NamedComponent から継承されたメソッド
getBeanName, getComponentNameインターフェース SmartLifecycle から継承されたメソッド
isPauseable
コンストラクターの詳細
KafkaMessageDrivenChannelAdapter
public KafkaMessageDrivenChannelAdapter(org.springframework.kafka.listener.AbstractMessageListenerContainer<K, V> messageListenerContainer) モードKafkaMessageDrivenChannelAdapter.ListenerMode.recordでインスタンスを作成します。- パラメーター:
messageListenerContainer- コンテナー。
KafkaMessageDrivenChannelAdapter
public KafkaMessageDrivenChannelAdapter(org.springframework.kafka.listener.AbstractMessageListenerContainer<K, V> messageListenerContainer, KafkaMessageDrivenChannelAdapter.ListenerMode mode) 提供されたモードでインスタンスを構築します。- パラメーター:
messageListenerContainer- コンテナー。mode- モード。
方法の詳細
setMessageConverter
public void setMessageConverter(org.springframework.kafka.support.converter.MessageConverter messageConverter) メッセージコンバーターを設定します。モードに応じて、RecordMessageConverterまたはBatchMessageConverterでなければなりません。- パラメーター:
messageConverter- コンバーター。
setRecordMessageConverter
public void setRecordMessageConverter(org.springframework.kafka.support.converter.RecordMessageConverter messageConverter) レコードコンバーターを使用するようにメッセージコンバーターを設定します。- パラメーター:
messageConverter- コンバーター。
setBatchMessageConverter
public void setBatchMessageConverter(org.springframework.kafka.support.converter.BatchMessageConverter messageConverter) メッセージコンバーターを設定して、バッチベースのコンシューマーで使用します。- パラメーター:
messageConverter- コンバーター。
setRecordFilterStrategy
public void setRecordFilterStrategy(org.springframework.kafka.listener.adapter.RecordFilterStrategy<K, V> recordFilterStrategy) KafkaMessageDrivenChannelAdapter.IntegrationRecordMessageListenerをFilteringMessageListenerAdapterにラップするRecordFilterStrategyを指定します。- パラメーター:
recordFilterStrategy- 使用するRecordFilterStrategy。
setAckDiscarded
public void setAckDiscarded(boolean ackDiscarded) FilteringMessageListenerAdapterが破棄されたレコードを確認する必要があるかどうかを示すbooleanフラグ。setRecordFilterStrategy(RecordFilterStrategy)が指定されていない場合は意味がありません。- パラメーター:
ackDiscarded- 破棄されたメッセージに確認応答(コミットオフセット)する場合は true。
setRetryTemplate
配信の再試行に使用するRetryTemplateインスタンスを指定します。IMPORTANT: この形式の再試行はブロックされており、ポーリングされたすべてのレコードの合計再試行遅延が
max.poll.interval.msを超える可能性がある場合、再調整が発生する可能性があります。代わりに、KafkaErrorSendingMessageRecovererで構成されたリスナーコンテナーにDefaultErrorHandlerを追加することを検討してください。- パラメーター:
retryTemplate- 使用するRetryTemplate。
setRecoveryCallback
再試行操作用のRecoveryCallbackインスタンス。null の場合、再試行回数の上限に達した後にコンテナーに例外がスローされます(エラーチャネルが設定されていない場合)。setRetryTemplate(RetryTemplate)が指定されている場合にのみ使用されます。エラーチャネルが指定されている場合、デフォルトはErrorMessageSendingRecovererです。再試行回数の上限に達した後にコンテナーに例外をスローする場合は、null に設定してください。- パラメーター:
recoveryCallback- リカバリコールバック。
setFilterInRetry
public void setFilterInRetry(boolean filterInRetry) booleanフラグは、フィルター処理と再試行処理の実行順序を指定します。RetryTemplateまたはRecordFilterStrategyのいずれか一方のみ、またはどちらも指定されていない場合は、このフラグは意味を持ちません。true の場合、フィルターは再試行ごとに呼び出されます。false の場合、フィルターはコンテナーからの配信ごとに 1 回だけ呼び出されます。- パラメーター:
filterInRetry- 再試行ごとにフィルター処理する場合は true。デフォルトはfalseです。
setPayloadType
setOnPartitionsAssignedSeekCallback
public void setOnPartitionsAssignedSeekCallback(BiConsumerSE<MapSE<org.apache.kafka.common.TopicPartition, LongSE>, org.springframework.kafka.listener.ConsumerSeekAware.ConsumerSeekCallback> onPartitionsAssignedCallback) KafkaMessageListenerContainerからのConsumerSeekAware.onPartitionsAssigned(Map, ConsumerSeekAware.ConsumerSeekCallback)呼び出し中のシーク管理用にBiConsumerSE を指定します。これは、内部MessagingMessageListenerAdapter実装から呼び出されます。- パラメーター:
onPartitionsAssignedCallback- 使用するBiConsumerSE- 関連事項:
setBindSourceRecord
public void setBindSourceRecord(boolean bindSourceRecord) true に設定すると、IntegrationMessageHeaderAccessor.SOURCE_DATAという名前のヘッダーにソースコンシューマーレコードがバインドされます。バッチリスナーには適用されません。- パラメーター:
bindSourceRecord- バインドする場合は true。
getComponentType
- 次で指定:
- インターフェース
NamedComponent内のgetComponentType - オーバーライド:
- クラス
MessageProducerSupportのgetComponentType
onInit
protected void onInit()クラスからコピーされた説明:IntegrationObjectSupportサブクラスは、初期化ロジック用にこれを実装できます。- オーバーライド:
- クラス
MessageProducerSupportのonInit
doStart
protected void doStart()クラスからコピーされた説明:MessageProducerSupportデフォルトでは何も実行されません。ライフサイクル管理された動作が必要な場合、サブクラスはこれをオーバーライドできます。'lifecycleLock' によって保護されています。- オーバーライド:
- クラス
MessageProducerSupportのdoStart
doStop
protected void doStop()クラスからコピーされた説明:MessageProducerSupportデフォルトでは何もしません。サブクラスは、ライフサイクル管理の動作が必要な場合、これをオーバーライドできます。- オーバーライド:
- クラス
MessageProducerSupportのdoStop
pause
resume
isPaused
beforeShutdown
public int beforeShutdown()インターフェースからコピーされた説明:OrderlyShutdownCapableシャットダウンが始まる前に呼び出されます。実装は、新しいメッセージの受け入れを停止する必要があります。オプションで、処理中のアクティブなメッセージの数を返すことができます。- 次で指定:
- インターフェース
OrderlyShutdownCapable内のbeforeShutdown - 戻り値:
- 使用可能な場合、アクティブなメッセージの数。
afterShutdown
public int afterShutdown()インターフェースからコピーされた説明:OrderlyShutdownCapableスケジューラー、エグゼキューターなどの通常のシャットダウンの後、シャットダウン遅延が経過した後、残りのアクティブなスケジューラー / エグゼキュータースレッドの強制シャットダウンの前に呼び出されます。オプションで、まだ処理中のアクティブなメッセージの数を返すことができます。- 次で指定:
- インターフェース
OrderlyShutdownCapable内のafterShutdown - 戻り値:
- 使用可能な場合、アクティブなメッセージの数。
getErrorMessageAttributes
クラスからコピーされた説明:MessageProducerSupporterrorMessageStrategyでエラーメッセージを作成するときに使用するAttributeAccessorを設定します。- オーバーライド:
- クラス
MessageProducerSupportのgetErrorMessageAttributes - パラメーター:
message- メッセージ。- 戻り値:
- 属性。