From cbfe4b796266ff7b9689fb69c5a8efee8ebb130a Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Wed, 23 Jun 2021 22:10:19 +0200 Subject: [PATCH] Properties are only accessible via getters --- .../transfer/TransferServiceApplication.java | 17 ++++++++++++----- .../transfer/TransferServiceProperties.java | 6 +++--- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/main/java/de/juplo/kafka/payment/transfer/TransferServiceApplication.java b/src/main/java/de/juplo/kafka/payment/transfer/TransferServiceApplication.java index eab6abf..53ff0f4 100644 --- a/src/main/java/de/juplo/kafka/payment/transfer/TransferServiceApplication.java +++ b/src/main/java/de/juplo/kafka/payment/transfer/TransferServiceApplication.java @@ -20,6 +20,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; +import org.springframework.util.Assert; import java.util.Optional; import java.util.Properties; @@ -33,8 +34,11 @@ public class TransferServiceApplication @Bean(destroyMethod = "close") KafkaProducer producer(TransferServiceProperties properties) { + Assert.hasText(properties.getBootstrapServers(), "juplo.transfer.bootstrap-servers must be set"); + Assert.hasText(properties.getTopic(), "juplo.transfer.topic must be set"); + Properties props = new Properties(); - props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, properties.bootstrapServers); + props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, properties.getBootstrapServers()); props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class); props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class); @@ -44,9 +48,12 @@ public class TransferServiceApplication @Bean KafkaConsumer consumer(TransferServiceProperties properties) { + Assert.hasText(properties.getBootstrapServers(), "juplo.transfer.bootstrap-servers must be set"); + Assert.hasText(properties.getGroupId(), "juplo.transfer.group-id must be set"); + Properties props = new Properties(); - props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, properties.bootstrapServers); - props.put(ConsumerConfig.GROUP_ID_CONFIG, properties.groupId); + props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, properties.getBootstrapServers()); + props.put(ConsumerConfig.GROUP_ID_CONFIG, properties.getGroupId()); props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest"); props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, false); props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); @@ -65,7 +72,7 @@ public class TransferServiceApplication { return new TransferConsumer( - properties.topic, + properties.getTopic(), consumer, mapper, new TransferConsumer.ConsumerUseCases() { @@ -114,7 +121,7 @@ public class TransferServiceApplication ObjectMapper mapper, TransferServiceProperties properties) { - return new KafkaMessagingService(producer, mapper, properties.topic); + return new KafkaMessagingService(producer, mapper, properties.getTopic()); } @Bean diff --git a/src/main/java/de/juplo/kafka/payment/transfer/TransferServiceProperties.java b/src/main/java/de/juplo/kafka/payment/transfer/TransferServiceProperties.java index 79473f8..c18f525 100644 --- a/src/main/java/de/juplo/kafka/payment/transfer/TransferServiceProperties.java +++ b/src/main/java/de/juplo/kafka/payment/transfer/TransferServiceProperties.java @@ -11,7 +11,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; @Setter public class TransferServiceProperties { - String bootstrapServers = "localhost:9092"; - String topic = "transfers"; - String groupId = "transfers"; + private String bootstrapServers = "localhost:9092"; + private String topic = "transfers"; + private String groupId = "transfers"; } -- 2.20.1