Kafka GH-21: Don't Override User Partition
See spring-cloud/spring-cloud-stream-binder-kafka#109 If the user app sets the `BinderHeader.PARTITION_HEADER`, don't override it in the binder.
This commit is contained in:
committed by
Ilayaperumal Gopinathan
parent
21cc1e9b58
commit
34acc2d190
@@ -275,12 +275,16 @@ public class MessageConverterConfigurer implements MessageChannelConfigurer, Bea
|
||||
|
||||
@Override
|
||||
public Message<?> preSend(Message<?> message, MessageChannel channel) {
|
||||
int partition = this.partitionHandler.determinePartition(message);
|
||||
return MessageConverterConfigurer.this.messageBuilderFactory
|
||||
.fromMessage(message)
|
||||
.setHeader(BinderHeaders.PARTITION_HEADER, partition)
|
||||
.build();
|
||||
|
||||
if (!message.getHeaders().containsKey(BinderHeaders.PARTITION_HEADER)) {
|
||||
int partition = this.partitionHandler.determinePartition(message);
|
||||
return MessageConverterConfigurer.this.messageBuilderFactory
|
||||
.fromMessage(message)
|
||||
.setHeader(BinderHeaders.PARTITION_HEADER, partition)
|
||||
.build();
|
||||
}
|
||||
else {
|
||||
return message;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user