git » subscription-tool.git » commit d2bd952

improved properties handling

author Thorsten Ortlepp
2026-01-31 01:39:40 UTC
committer Thorsten Ortlepp
2026-01-31 01:39:40 UTC
parent 51039c61b9a9f326aa78a294b02a01b9281ac931

improved properties handling

src/main/java/dev/rubidium/subscriptiontool/SubscriptionToolApplication.java +0 -3
src/main/java/dev/rubidium/subscriptiontool/properties/MailProperties.java +0 -8
src/main/java/dev/rubidium/subscriptiontool/scheduler/MailScheduler.java +10 -7

diff --git a/src/main/java/dev/rubidium/subscriptiontool/SubscriptionToolApplication.java b/src/main/java/dev/rubidium/subscriptiontool/SubscriptionToolApplication.java
index baaa928..c417f08 100644
--- a/src/main/java/dev/rubidium/subscriptiontool/SubscriptionToolApplication.java
+++ b/src/main/java/dev/rubidium/subscriptiontool/SubscriptionToolApplication.java
@@ -1,12 +1,9 @@
 package dev.rubidium.subscriptiontool;
 
-import dev.rubidium.subscriptiontool.properties.MailProperties;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
 
 @SpringBootApplication
-@EnableConfigurationProperties({MailProperties.class})
 public class SubscriptionToolApplication {
 
   static void main(String[] args) {
diff --git a/src/main/java/dev/rubidium/subscriptiontool/properties/MailProperties.java b/src/main/java/dev/rubidium/subscriptiontool/properties/MailProperties.java
deleted file mode 100644
index 0ec2e9c..0000000
--- a/src/main/java/dev/rubidium/subscriptiontool/properties/MailProperties.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package dev.rubidium.subscriptiontool.properties;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-@ConfigurationProperties(prefix = "subscriptiontool.mail")
-public record MailProperties(String from, String url) {
-
-}
diff --git a/src/main/java/dev/rubidium/subscriptiontool/scheduler/MailScheduler.java b/src/main/java/dev/rubidium/subscriptiontool/scheduler/MailScheduler.java
index 456307a..5715e7d 100644
--- a/src/main/java/dev/rubidium/subscriptiontool/scheduler/MailScheduler.java
+++ b/src/main/java/dev/rubidium/subscriptiontool/scheduler/MailScheduler.java
@@ -1,11 +1,11 @@
 package dev.rubidium.subscriptiontool.scheduler;
 
-import dev.rubidium.subscriptiontool.properties.MailProperties;
 import dev.rubidium.subscriptiontool.service.MailService;
 import dev.rubidium.subscriptiontool.service.PersistenceService;
 import java.util.Locale;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.MessageSource;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -17,18 +17,21 @@ public class MailScheduler {
 
   private static final Logger logger = LoggerFactory.getLogger(MailScheduler.class);
 
+  @Value("${subscriptiontool.mail.url}")
+  private String confirmationUrl;
+
+  @Value("${subscriptiontool.mail.from}")
+  private String mailFrom;
+
   private final PersistenceService persistenceService;
   private final MailService mailService;
   private final MessageSource messageSource;
-  private final MailProperties mailProperties;
 
   public MailScheduler(final PersistenceService persistenceService,
-      final MailService mailService, final MessageSource messageSource,
-      final MailProperties mailProperties) {
+      final MailService mailService, final MessageSource messageSource) {
     this.persistenceService = persistenceService;
     this.mailService = mailService;
     this.messageSource = messageSource;
-    this.mailProperties = mailProperties;
   }
 
   @Scheduled(cron = "${subscriptiontool.scheduler.cron}",
@@ -36,12 +39,12 @@ public class MailScheduler {
   public void sendMails() {
     persistenceService.getUnsentMails().forEach(mail -> {
       logger.info("Sending double opt-in mail for subscriber # {}", mail.id());
-      String link = mailProperties.url() + mail.code();
+      String link = confirmationUrl + mail.code();
       String message =
           messageSource.getMessage("mail.body", null, Locale.getDefault()).formatted(link);
       String subject = messageSource.getMessage("mail.subject", null, Locale.getDefault());
       if (mailService.sendMail(
-          mailProperties.from(), mail.email(), subject, message)) {
+          mailFrom, mail.email(), subject, message)) {
         persistenceService.updateMail(mail.id());
       }
     });