package de.juplo.kafka;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.autoconfigure.kafka.KafkaProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.kafka.autoconfigure.KafkaProperties;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.kafka.core.ProducerFactory;
-import org.springframework.kafka.support.converter.ByteArrayJsonMessageConverter;
-import org.springframework.kafka.support.converter.JsonMessageConverter;
-import org.springframework.kafka.support.mapping.DefaultJackson2JavaTypeMapper;
-import org.springframework.kafka.support.mapping.Jackson2JavaTypeMapper;
+import org.springframework.kafka.support.converter.ByteArrayJacksonJsonMessageConverter;
+import org.springframework.kafka.support.converter.JacksonJsonMessageConverter;
+import org.springframework.kafka.support.mapping.DefaultJacksonJavaTypeMapper;
+import org.springframework.kafka.support.mapping.JacksonJavaTypeMapper;
import java.time.Duration;
import java.util.HashMap;
@Bean
public KafkaTemplate<String, SumupMessage> kafkaTemplate(
ProducerFactory<String, SumupMessage> producerFactory,
- JsonMessageConverter jsonMessageConverter) {
+ JacksonJsonMessageConverter jacksonJsonMessageConverter) {
KafkaTemplate<String, SumupMessage> template = new KafkaTemplate<>(producerFactory);
- template.setMessageConverter(jsonMessageConverter);
+ template.setMessageConverter(jacksonJsonMessageConverter);
return template;
}
@Bean
- public ByteArrayJsonMessageConverter jsonMessageConverter()
+ public ByteArrayJacksonJsonMessageConverter jacksonJsonMessageConverter()
{
- ByteArrayJsonMessageConverter converter = new ByteArrayJsonMessageConverter();
- DefaultJackson2JavaTypeMapper typeMapper = new DefaultJackson2JavaTypeMapper();
+ ByteArrayJacksonJsonMessageConverter converter = new ByteArrayJacksonJsonMessageConverter();
+ DefaultJacksonJavaTypeMapper typeMapper = new DefaultJacksonJavaTypeMapper();
// Verwende eine einfache, kurze Type-ID anstatt FQN
- typeMapper.setTypePrecedence(Jackson2JavaTypeMapper.TypePrecedence.TYPE_ID);
+ typeMapper.setTypePrecedence(JacksonJavaTypeMapper.TypePrecedence.TYPE_ID);
Map<String, Class<?>> typeMappings = new HashMap<>();
typeMappings.put("ADD", AddNumberMessage.class);
typeMappings.put("CALC", CalculateSumMessage.class);