Skip to content

Unable to send null payload with KafkaTemplate#send(Message)  #2924

@pswrdf

Description

@pswrdf

In what version(s) of Spring for Apache Kafka are you seeing this issue?
3.0.11

Describe the bug

Unable to send null message through KafkaTemplate#send(Message).
Unable to create GenericMessage with null payload.

To Reproduce

spring:
  kafka:
    producer:
      value-serializer: org.apache.kafka.common.serialization.ByteArraySerializer
    @Bean
    public RecordMessageConverter jsonMessageConverter(ObjectMapper objectMapper) {
        return new ByteArrayJsonMessageConverter(objectMapper);
    }
       final var Object myValue = null;
       final var message = MessageBuilder.withPayload(myValue).setHeader(TOPIC, topic).build();
        kafkaTemplate.send(message);

Expected behavior

Kafka sends null message.
But we get: IllegalArgumentException: Payload must not be null

We could set myValue=KafkaNull.INSTANCE;
But JsonMessageConverter inherited classes cannot proccess KafkaNull.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions