diff --git a/src/main/kotlin/com/github/dannecron/demo/config/AppConfig.kt b/src/main/kotlin/com/github/dannecron/demo/config/AppConfig.kt index 5de2fc4..24538ee 100644 --- a/src/main/kotlin/com/github/dannecron/demo/config/AppConfig.kt +++ b/src/main/kotlin/com/github/dannecron/demo/config/AppConfig.kt @@ -1,5 +1,8 @@ package com.github.dannecron.demo.config +import com.fasterxml.jackson.databind.ObjectMapper +import com.fasterxml.jackson.databind.SerializationFeature +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule import com.github.dannecron.demo.config.properties.KafkaProperties import com.github.dannecron.demo.config.properties.ValidationProperties import com.github.dannecron.demo.providers.* @@ -12,9 +15,6 @@ import com.github.dannecron.demo.services.database.product.ProductServiceImpl import com.github.dannecron.demo.services.kafka.Producer import com.github.dannecron.demo.services.validation.SchemaValidator import com.github.dannecron.demo.services.validation.SchemaValidatorImp -import com.fasterxml.jackson.databind.ObjectMapper -import com.fasterxml.jackson.databind.SerializationFeature -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule import io.micrometer.observation.ObservationRegistry import io.micrometer.observation.aop.ObservedAspect import io.opentelemetry.exporter.otlp.http.trace.OtlpHttpSpanExporter @@ -30,16 +30,13 @@ class AppConfig( @Autowired private val kafkaProperties: KafkaProperties, ) { @Bean - fun objectMapper(): ObjectMapper { - val objectMapper = ObjectMapper() - objectMapper.registerModules(JavaTimeModule()) - objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); - - return objectMapper + fun objectMapper(): ObjectMapper = ObjectMapper().apply { + registerModules(JavaTimeModule()) + configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false) } @Bean - fun shopProvider(): ShopProvider = com.github.dannecron.demo.providers.MockedShopProvider() + fun shopProvider(): ShopProvider = MockedShopProvider() @Bean fun productService( @@ -66,15 +63,11 @@ class AppConfig( ): SchemaValidator = SchemaValidatorImp(validationProperties.schema) @Bean - fun otlpHttpSpanExporter(@Value("\${tracing.url}") url: String): OtlpHttpSpanExporter { - return OtlpHttpSpanExporter.builder() - .setEndpoint(url) - .build() - } + fun otlpHttpSpanExporter(@Value("\${tracing.url}") url: String) = OtlpHttpSpanExporter.builder() + .setEndpoint(url) + .build() @Bean - fun observedAspect(@Autowired observationRegistry: ObservationRegistry): ObservedAspect { - return ObservedAspect(observationRegistry) - } + fun observedAspect(@Autowired observationRegistry: ObservationRegistry) = ObservedAspect(observationRegistry) } diff --git a/src/main/kotlin/com/github/dannecron/demo/config/KafkaConsumerConfig.kt b/src/main/kotlin/com/github/dannecron/demo/config/KafkaConsumerConfig.kt index f2d72e2..a416da5 100644 --- a/src/main/kotlin/com/github/dannecron/demo/config/KafkaConsumerConfig.kt +++ b/src/main/kotlin/com/github/dannecron/demo/config/KafkaConsumerConfig.kt @@ -27,23 +27,16 @@ class KafkaConsumerConfig( ) @Bean - fun consumerFactory(): ConsumerFactory { - val configs = mapOf( - ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG to kafkaProperties.bootstrapServers, - ConsumerConfig.GROUP_ID_CONFIG to kafkaProperties.consumer.groupId, - ConsumerConfig.AUTO_OFFSET_RESET_CONFIG to kafkaProperties.consumer.autoOffsetReset, - ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG to StringDeserializer::class.java, - ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG to StringDeserializer::class.java - ) - - return DefaultKafkaConsumerFactory(configs) - } + fun consumerFactory(): ConsumerFactory = DefaultKafkaConsumerFactory(mapOf( + ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG to kafkaProperties.bootstrapServers, + ConsumerConfig.GROUP_ID_CONFIG to kafkaProperties.consumer.groupId, + ConsumerConfig.AUTO_OFFSET_RESET_CONFIG to kafkaProperties.consumer.autoOffsetReset, + ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG to StringDeserializer::class.java, + ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG to StringDeserializer::class.java + )) @Bean - fun kafkaListenerContainerFactory(): ConcurrentKafkaListenerContainerFactory { - val factory = ConcurrentKafkaListenerContainerFactory() - factory.consumerFactory = consumerFactory() - - return factory + fun kafkaListenerContainerFactory() = ConcurrentKafkaListenerContainerFactory().apply { + consumerFactory = consumerFactory() } } diff --git a/src/main/kotlin/com/github/dannecron/demo/config/KafkaProducerConfig.kt b/src/main/kotlin/com/github/dannecron/demo/config/KafkaProducerConfig.kt index 3bb5758..b5ef628 100644 --- a/src/main/kotlin/com/github/dannecron/demo/config/KafkaProducerConfig.kt +++ b/src/main/kotlin/com/github/dannecron/demo/config/KafkaProducerConfig.kt @@ -18,15 +18,11 @@ class KafkaProducerConfig( @Autowired val kafkaProperties: KafkaProperties ) { @Bean - fun producerFactory(): ProducerFactory { - val configProps: MutableMap = HashMap() - - configProps[ProducerConfig.BOOTSTRAP_SERVERS_CONFIG] = kafkaProperties.bootstrapServers - configProps[ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG] = StringSerializer::class.java - configProps[ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG] = StringSerializer::class.java - - return DefaultKafkaProducerFactory(configProps) - } + fun producerFactory(): ProducerFactory = DefaultKafkaProducerFactory(mapOf( + ProducerConfig.BOOTSTRAP_SERVERS_CONFIG to kafkaProperties.bootstrapServers, + ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG to StringSerializer::class.java, + ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG to StringSerializer::class.java, + )) @Bean fun kafkaTemplate(): KafkaTemplate = KafkaTemplate(