Class KafkaProducerMessageHandlerSpec<K, V, S extends KafkaProducerMessageHandlerSpec<K,V,S>>  
java.lang.Object
org.springframework.integration.dsl.IntegrationComponentSpec<S, KafkaProducerMessageHandler<K,V>>
 
org.springframework.integration.dsl.MessageHandlerSpec<S, KafkaProducerMessageHandler<K,V>>
 
org.springframework.integration.kafka.dsl.KafkaProducerMessageHandlerSpec<K,V,S>  
- Type Parameters:
- K- the key type.
- V- the value type.
- S- the- KafkaProducerMessageHandlerSpecextension type.
- All Implemented Interfaces:
- DisposableBean,- FactoryBean<KafkaProducerMessageHandler<K,,- V>> - InitializingBean,- Lifecycle,- Phased,- SmartLifecycle
- Direct Known Subclasses:
- KafkaOutboundGatewaySpec,- KafkaProducerMessageHandlerSpec.KafkaProducerMessageHandlerTemplateSpec
public class KafkaProducerMessageHandlerSpec<K, V, S extends KafkaProducerMessageHandlerSpec<K,V,S>>  
extends MessageHandlerSpec<S, KafkaProducerMessageHandler<K,V>> 
A 
MessageHandlerSpec implementation for the KafkaProducerMessageHandler.- Since:
- 5.4
- Author:
- Artem Bilan, Biju Kunjummen, Gary Russell
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic classAKafkaTemplate-basedKafkaProducerMessageHandlerSpecextension.
- 
Field SummaryFields inherited from class org.springframework.integration.dsl.IntegrationComponentSpeclogger, PARSER, targetFields inherited from interface org.springframework.beans.factory.FactoryBeanOBJECT_TYPE_ATTRIBUTEFields inherited from interface org.springframework.context.SmartLifecycleDEFAULT_PHASE
- 
Method SummaryModifier and TypeMethodDescription<P> SConfigure aFunctionthat will be invoked at runtime to determine whether to flush the producer after send.flushExpression(String flushExpression) Configure a SpEL expression to determine whether to flush the producer after a send.flushExpression(Expression flushExpression) Configure anExpressionto determine whether to flush the producer after a send.futuresChannel(String futuresChannel) Set the channel to which send futures are sent.futuresChannel(MessageChannel futuresChannel) Set the channel to which send futures are sent.headerMapper(org.springframework.kafka.support.KafkaHeaderMapper mapper) Specify a header mapper to map spring messaging headers to Kafka headers.messageKey(String messageKey) Configure the message key to store message in Kafka topic.<P> SmessageKey(Function<Message<P>, ?> messageKeyFunction) Configure aFunctionthat will be invoked at runtime to determine the message key under which a message will be stored in the topic.messageKeyExpression(String messageKeyExpression) Configure a SpEL expression to determine the Kafka message key to store at runtime against request Message as a root object of evaluation context.messageKeyExpression(Expression messageKeyExpression) Configure anExpressionto determine the Kafka message key to store at runtime against request Message as a root object of evaluation context.partitionId(Integer partitionId) Configure a partitionId of Kafka topic.<P> SpartitionId(Function<Message<P>, Integer> partitionIdFunction) Configure aFunctionthat will be invoked at runtime to determine the partition id under which a message will be stored in the topic.partitionIdExpression(String partitionIdExpression) Configure a SpEL expression to determine the topic partitionId at runtime against request Message as a root object of evaluation context.partitionIdExpression(Expression partitionIdExpression) Configure anExpressionto determine the topic partitionId at runtime against request Message as a root object of evaluation context.Set aKafkaProducerMessageHandler.ProducerRecordCreatorto create theProducerRecord.sendFailureChannel(String sendFailureChannel) Set the channel to which failed send results are sent.sendFailureChannel(MessageChannel sendFailureChannel) Set the channel to which failed send results are sent.sendSuccessChannel(String sendSuccessChannel) Set the channel to which successful send results are sent.sendSuccessChannel(MessageChannel sendSuccessChannel) Set the channel to which successful send results are sent.sendTimeout(long sendTimeout) Specify a timeout in milliseconds how longKafkaProducerMessageHandlershould wait for send operation results.sync(boolean sync) Abooleanindicating if theKafkaProducerMessageHandlershould wait for the send operation results or not.<P> SConfigure aFunctionthat will be invoked at runtime to determine the Kafka record timestamp will be stored in the topic.timestampExpression(String timestampExpression) Configure a SpEL expression to determine the timestamp at runtime against a request Message as a root object of evaluation context.timestampExpression(Expression timestampExpression) Configure anExpressionto determine the timestamp at runtime against a request Message as a root object of evaluation context.Configure the Kafka topic to send messages.<P> SConfigure aFunctionthat will be invoked at runtime to determine the topic to which a message will be sent.topicExpression(String topicExpression) Configure a SpEL expression to determine the Kafka topic at runtime against request Message as a root object of evaluation context.topicExpression(Expression topicExpression) Configure anExpressionto determine the Kafka topic at runtime against request Message as a root object of evaluation context.useTemplateConverter(boolean use) Set to true to use the template's message converter to create theProducerRecordinstead of theproducerRecordCreator.Methods inherited from class org.springframework.integration.dsl.IntegrationComponentSpec_this, afterPropertiesSet, destroy, doGet, getId, getObject, getObjectType, getPhase, id, isAutoStartup, isRunning, start, stop, stopMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.beans.factory.FactoryBeanisSingletonMethods inherited from interface org.springframework.context.SmartLifecycleisPauseable
- 
Method Details- 
topic
- 
topicExpression
- 
topicExpressionConfigure anExpressionto determine the Kafka topic at runtime against request Message as a root object of evaluation context.- Parameters:
- topicExpression- the topic expression.
- Returns:
- the spec.
 
- 
topicConfigure aFunctionthat will be invoked at runtime to determine the topic to which a message will be sent. Typically used with a Java 8 Lambda expression:.<Foo>topic(m -> m.getPayload().getTopic())- Type Parameters:
- P- the expected payload type.
- Parameters:
- topicFunction- the topic function.
- Returns:
- the current KafkaProducerMessageHandlerSpec.
- See Also:
 
- 
messageKeyExpression
- 
messageKey
- 
messageKeyExpressionConfigure anExpressionto determine the Kafka message key to store at runtime against request Message as a root object of evaluation context.- Parameters:
- messageKeyExpression- the message key expression.
- Returns:
- the spec.
 
- 
messageKeyConfigure aFunctionthat will be invoked at runtime to determine the message key under which a message will be stored in the topic. Typically used with a Java 8 Lambda expression:.<Foo>messageKey(m -> m.getPayload().getKey())- Type Parameters:
- P- the expected payload type.
- Parameters:
- messageKeyFunction- the message key function.
- Returns:
- the current KafkaProducerMessageHandlerSpec.
- See Also:
 
- 
partitionId
- 
partitionIdExpression
- 
partitionIdConfigure aFunctionthat will be invoked at runtime to determine the partition id under which a message will be stored in the topic. Typically used with a Java 8 Lambda expression:.partitionId(m -> m.getHeaders().get("partitionId", Integer.class))- Type Parameters:
- P- the expected payload type.
- Parameters:
- partitionIdFunction- the partitionId function.
- Returns:
- the spec.
 
- 
partitionIdExpressionConfigure anExpressionto determine the topic partitionId at runtime against request Message as a root object of evaluation context.- Parameters:
- partitionIdExpression- the partitionId expression to use.
- Returns:
- the spec.
 
- 
timestampExpression
- 
timestampConfigure aFunctionthat will be invoked at runtime to determine the Kafka record timestamp will be stored in the topic. Typically used with a Java 8 Lambda expression:.timestamp(m -> m.getHeaders().get("mytimestamp_header", Long.class))- Type Parameters:
- P- the expected payload type.
- Parameters:
- timestampFunction- the timestamp function.
- Returns:
- the spec.
 
- 
timestampExpressionConfigure anExpressionto determine the timestamp at runtime against a request Message as a root object of evaluation context.- Parameters:
- timestampExpression- the timestamp expression to use.
- Returns:
- the spec.
 
- 
flushExpressionConfigure a SpEL expression to determine whether to flush the producer after a send. By default, the producer is flushed if a headerkafka_flushhas a valueBoolean.TRUE.- Parameters:
- flushExpression- the timestamp expression to use.
- Returns:
- the spec.
 
- 
flushConfigure aFunctionthat will be invoked at runtime to determine whether to flush the producer after send. By default, the producer is flushed if a headerkafka_flushhas a valueBoolean.TRUE. Typically, used with a Java Lambda expression:.flush(m -> m.getPayload().shouldFlush())- Type Parameters:
- P- the expected payload type.
- Parameters:
- flushFunction- the flush function.
- Returns:
- the spec.
 
- 
flushExpressionConfigure anExpressionto determine whether to flush the producer after a send. By default, the producer is flushed if a headerkafka_flushhas a valueBoolean.TRUE.- Parameters:
- flushExpression- the timestamp expression to use.
- Returns:
- the spec.
 
- 
syncAbooleanindicating if theKafkaProducerMessageHandlershould wait for the send operation results or not. Defaults tofalse. Insyncmode a downstream send operation exception will be re-thrown.- Parameters:
- sync- the send mode; async by default.
- Returns:
- the spec.
 
- 
sendTimeoutSpecify a timeout in milliseconds how longKafkaProducerMessageHandlershould wait for send operation results. Defaults to 10 seconds.- Parameters:
- sendTimeout- the timeout to wait for result fo send operation.
- Returns:
- the spec.
 
- 
headerMapperSpecify a header mapper to map spring messaging headers to Kafka headers.- Parameters:
- mapper- the mapper.
- Returns:
- the spec.
 
- 
sendSuccessChannelSet the channel to which successful send results are sent.- Parameters:
- sendSuccessChannel- the channel.
- Returns:
- the spec.
 
- 
sendSuccessChannel
- 
sendFailureChannelSet the channel to which failed send results are sent.- Parameters:
- sendFailureChannel- the channel.
- Returns:
- the spec.
 
- 
sendFailureChannel
- 
futuresChannelSet the channel to which send futures are sent.- Parameters:
- futuresChannel- the channel.
- Returns:
- the spec.
 
- 
futuresChannel
- 
producerRecordCreatorSet aKafkaProducerMessageHandler.ProducerRecordCreatorto create theProducerRecord. Ignored ifuseTemplateConverteris true.- Parameters:
- creator- the creator.
- Returns:
- the spec.
- Since:
- 5.5.5
 
- 
useTemplateConverterSet to true to use the template's message converter to create theProducerRecordinstead of theproducerRecordCreator.- Parameters:
- use- true to use the converter.
- Returns:
- the spec.
- Since:
- 5.5.5
 
 
-