KafkaNull Test Changes

There was a regression introduced in Spring Cloud Function where consumers
of type Consumer<Message<?>> receive null values when tombstone records
are given as KafkaNull.

See this issue for more details: https://github.com/spring-cloud/spring-cloud-function/issues/1060

Regression is addressed in Spring Cloud Function and
making the corresponding test changes in Spring Cloud Stream Kafka binder.
This commit is contained in:
Soby Chacko
2023-08-30 12:37:47 -04:00
parent 8b7accac2a
commit acc8b1cb92

View File

@@ -33,6 +33,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.kafka.support.KafkaNull;
import org.springframework.kafka.test.context.EmbeddedKafka;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.handler.annotation.Payload;
import org.springframework.messaging.support.GenericMessage;
@@ -100,9 +101,13 @@ public class KafkaNullConverterTest {
}
@Bean
public Consumer<byte[]> inputListen() {
public Consumer<Message<byte[]>> inputListen() {
return in -> {
this.inputPayload = in;
Object v = in.getPayload();
String className = v.getClass().getName();
if (className.equals("org.springframework.kafka.support.KafkaNull")) {
this.inputPayload = null;
}
countDownLatchInput.countDown();
};
}