Class KafkaMessageDrivenChannelAdapterSpec<K,V,S extends KafkaMessageDrivenChannelAdapterSpec<K,V,S>>
java.lang.Object
org.springframework.beans.factory.config.AbstractFactoryBean<T>
org.springframework.integration.dsl.IntegrationComponentSpec<S,P>
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 targetKafkaMessageDrivenChannelAdapterSpec
implementation type.
- All Implemented Interfaces:
Aware
,BeanClassLoaderAware
,BeanFactoryAware
,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
Modifier and TypeClassDescriptionstatic class
AConcurrentMessageListenerContainer
configurationKafkaMessageDrivenChannelAdapterSpec
extension. -
Field Summary
Fields inherited from class org.springframework.integration.dsl.IntegrationComponentSpec
PARSER, target
Fields inherited from class org.springframework.beans.factory.config.AbstractFactoryBean
logger
Fields inherited from interface org.springframework.beans.factory.FactoryBean
OBJECT_TYPE_ATTRIBUTE
Fields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE
-
Method Summary
Modifier and TypeMethodDescriptionackDiscarded
(boolean ackDiscarded) Aboolean
flag to indicate ifFilteringMessageListenerAdapter
should 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) Theboolean
flag 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 aRecordMessageConverter
orBatchMessageConverter
depending on mode.onPartitionsAssignedSeekCallback
(BiConsumer<Map<org.apache.kafka.common.TopicPartition, Long>, org.springframework.kafka.listener.ConsumerSeekAware.ConsumerSeekCallback> onPartitionsAssignedCallback) Specify aBiConsumer
for seeks management duringConsumerSeekAware.onPartitionsAssigned(Map, ConsumerSeekAware.ConsumerSeekCallback)
call from theKafkaMessageListenerContainer
.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 aRecordFilterStrategy
to wrapKafkaMessageDrivenChannelAdapter.IntegrationRecordMessageListener
intoFilteringMessageListenerAdapter
.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) ARecoveryCallback
instance 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 aRetryTemplate
instance to use for retrying deliveries.Methods inherited from class org.springframework.integration.dsl.MessageProducerSpec
autoStartup, errorChannel, errorChannel, errorMessageStrategy, id, observationConvention, outputChannel, outputChannel, phase, sendTimeout, shouldTrack
Methods inherited from class org.springframework.integration.dsl.IntegrationComponentSpec
_this, createInstance, destroyInstance, doGet, get, getId, getObjectType, getPhase, isAutoStartup, isRunning, start, stop, stop
Methods inherited from class org.springframework.beans.factory.config.AbstractFactoryBean
afterPropertiesSet, destroy, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, isSingleton, setBeanClassLoader, setBeanFactory, setSingleton
-
Method Details
-
messageConverter
public S messageConverter(org.springframework.kafka.support.converter.MessageConverter messageConverter) Set the message converter; must be aRecordMessageConverter
orBatchMessageConverter
depending 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 aRecordFilterStrategy
to wrapKafkaMessageDrivenChannelAdapter.IntegrationRecordMessageListener
intoFilteringMessageListenerAdapter
.- Parameters:
recordFilterStrategy
- theRecordFilterStrategy
to use.- Returns:
- the spec
-
ackDiscarded
Aboolean
flag to indicate ifFilteringMessageListenerAdapter
should 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 aRetryTemplate
instance to use for retrying deliveries.- Parameters:
retryTemplate
- theRetryTemplate
to use.- Returns:
- the spec
-
recoveryCallback
ARecoveryCallback
instance 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
When using a type-aware message converter (such asStringJsonMessageConverter
, set the payload type the converter should create. Defaults toObject
.- Parameters:
payloadType
- the type.- Returns:
- the spec
-
filterInRetry
Theboolean
flag to specify the order in which the filter and retry operations are performed. Does not make sense if only one ofRetryTemplate
orRecordFilterStrategy
is 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 aBiConsumer
for seeks management duringConsumerSeekAware.onPartitionsAssigned(Map, ConsumerSeekAware.ConsumerSeekCallback)
call from theKafkaMessageListenerContainer
.- Parameters:
onPartitionsAssignedCallback
- theBiConsumer
to use- Returns:
- the spec
-
getComponentsToRegister
- Specified by:
getComponentsToRegister
in interfaceComponentsRegistration
-