Class KafkaMessageDrivenChannelAdapterSpec<K, V, S extends KafkaMessageDrivenChannelAdapterSpec<K,V,S>>
java.lang.Object
org.springframework.integration.dsl.IntegrationComponentSpec<S, KafkaMessageDrivenChannelAdapter<K,V>>
org.springframework.integration.dsl.MessageProducerSpec<S, KafkaMessageDrivenChannelAdapter<K,V>>
org.springframework.integration.kafka.dsl.KafkaMessageDrivenChannelAdapterSpec<K,V,S>
- Type Parameters:
K- the key type.V- the value type.S- the targetKafkaMessageDrivenChannelAdapterSpecimplementation type.
- All Implemented Interfaces:
DisposableBean,FactoryBean<KafkaMessageDrivenChannelAdapter<K,,V>> InitializingBean,Lifecycle,Phased,SmartLifecycle,ComponentsRegistration
- Direct Known Subclasses:
KafkaMessageDrivenChannelAdapterSpec.KafkaMessageDrivenChannelAdapterListenerContainerSpec
public class KafkaMessageDrivenChannelAdapterSpec<K, V, S extends KafkaMessageDrivenChannelAdapterSpec<K,V,S>>
extends MessageProducerSpec<S, KafkaMessageDrivenChannelAdapter<K,V>>
implements ComponentsRegistration
A
MessageProducerSpec implementation for the KafkaMessageDrivenChannelAdapter.- Since:
- 5.4
- Author:
- Artem Bilan, Gary Russell, Cameron Mayfield
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAConcurrentMessageListenerContainerconfigurationKafkaMessageDrivenChannelAdapterSpecextension. -
Field Summary
Fields inherited from class org.springframework.integration.dsl.IntegrationComponentSpec
logger, PARSER, targetFields inherited from interface org.springframework.beans.factory.FactoryBean
OBJECT_TYPE_ATTRIBUTEFields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE -
Method Summary
Modifier and TypeMethodDescriptionackDiscarded(boolean ackDiscarded) Abooleanflag to indicate ifFilteringMessageListenerAdaptershould acknowledge discarded records or not.batchMessageConverter(org.springframework.kafka.support.converter.BatchMessageConverter messageConverter) Set the message converter to use with a batch-based consumer.filterInRetry(boolean filterInRetry) Thebooleanflag to specify the order in which the filter and retry operations are performed.messageConverter(org.springframework.kafka.support.converter.MessageConverter messageConverter) Set the message converter; must be aRecordMessageConverterorBatchMessageConverterdepending on mode.onPartitionsAssignedSeekCallback(BiConsumer<Map<org.apache.kafka.common.TopicPartition, Long>, org.springframework.kafka.listener.ConsumerSeekAware.ConsumerSeekCallback> onPartitionsAssignedCallback) Specify aBiConsumerfor seeks management duringcall from theinvalid reference
ConsumerSeekAware.ConsumerSeekCallback#onPartitionsAssigned(Map, ConsumerSeekAware.ConsumerSeekCallback)KafkaMessageListenerContainer.payloadType(Class<?> payloadType) When using a type-aware message converter (such asStringJsonMessageConverter), set the payload type the converter should create.recordFilterStrategy(org.springframework.kafka.listener.adapter.RecordFilterStrategy<K, V> recordFilterStrategy) Specify aRecordFilterStrategyto wrapKafkaMessageDrivenChannelAdapter.IntegrationRecordMessageListenerintoFilteringMessageListenerAdapter.recordMessageConverter(org.springframework.kafka.support.converter.RecordMessageConverter messageConverter) Set the message converter to use with a record-based consumer.recoveryCallback(org.springframework.retry.RecoveryCallback<?> recoveryCallback) ARecoveryCallbackinstance for retry operation; if null, the exception will be thrown to the container after retries are exhausted.retryTemplate(org.springframework.retry.support.RetryTemplate retryTemplate) Specify aRetryTemplateinstance to use for retrying deliveries.Methods inherited from class org.springframework.integration.dsl.MessageProducerSpec
autoStartup, errorChannel, errorChannel, errorMessageStrategy, id, observationConvention, outputChannel, outputChannel, phase, role, sendTimeout, shouldTrackMethods inherited from class org.springframework.integration.dsl.IntegrationComponentSpec
_this, afterPropertiesSet, destroy, doGet, getId, getObject, getObjectType, getPhase, isAutoStartup, isRunning, start, stop, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.beans.factory.FactoryBean
isSingleton
-
Method Details
-
messageConverter
public S messageConverter(org.springframework.kafka.support.converter.MessageConverter messageConverter) Set the message converter; must be aRecordMessageConverterorBatchMessageConverterdepending on mode.- Parameters:
messageConverter- the converter.- Returns:
- the spec
-
recordMessageConverter
public S recordMessageConverter(org.springframework.kafka.support.converter.RecordMessageConverter messageConverter) Set the message converter to use with a record-based consumer.- Parameters:
messageConverter- the converter.- Returns:
- the spec
-
batchMessageConverter
public S batchMessageConverter(org.springframework.kafka.support.converter.BatchMessageConverter messageConverter) Set the message converter to use with a batch-based consumer.- Parameters:
messageConverter- the converter.- Returns:
- the spec
-
recordFilterStrategy
public S recordFilterStrategy(org.springframework.kafka.listener.adapter.RecordFilterStrategy<K, V> recordFilterStrategy) Specify aRecordFilterStrategyto wrapKafkaMessageDrivenChannelAdapter.IntegrationRecordMessageListenerintoFilteringMessageListenerAdapter.- Parameters:
recordFilterStrategy- theRecordFilterStrategyto use.- Returns:
- the spec
-
ackDiscarded
Abooleanflag to indicate ifFilteringMessageListenerAdaptershould acknowledge discarded records or not. Does not make sense ifrecordFilterStrategy(RecordFilterStrategy)isn't specified.- Parameters:
ackDiscarded- true to ack (commit offset for) discarded messages.- Returns:
- the spec
-
retryTemplate
Specify aRetryTemplateinstance to use for retrying deliveries.- Parameters:
retryTemplate- theRetryTemplateto use.- Returns:
- the spec
-
recoveryCallback
ARecoveryCallbackinstance for retry operation; if null, the exception will be thrown to the container after retries are exhausted. Does not make sense ifretryTemplate(RetryTemplate)isn't specified.- Parameters:
recoveryCallback- the recovery callback.- Returns:
- the spec
-
payloadType
-
filterInRetry
Thebooleanflag to specify the order in which the filter and retry operations are performed. Does not make sense if only one ofRetryTemplateorRecordFilterStrategyis present, or none. When true, the filter is called for each retry; when false, the filter is only called once for each delivery from the container.- Parameters:
filterInRetry- true to filter for each retry. Defaults tofalse.- Returns:
- the spec
-
onPartitionsAssignedSeekCallback
public S onPartitionsAssignedSeekCallback(BiConsumer<Map<org.apache.kafka.common.TopicPartition, Long>, org.springframework.kafka.listener.ConsumerSeekAware.ConsumerSeekCallback> onPartitionsAssignedCallback) Specify aBiConsumerfor seeks management duringcall from theinvalid reference
ConsumerSeekAware.ConsumerSeekCallback#onPartitionsAssigned(Map, ConsumerSeekAware.ConsumerSeekCallback)KafkaMessageListenerContainer.- Parameters:
onPartitionsAssignedCallback- theBiConsumerto use- Returns:
- the spec
-
getComponentsToRegister
- Specified by:
getComponentsToRegisterin interfaceComponentsRegistration
-